Windows UI 自动化 - 不捕获所有子树元素
Windows UI Automation - Not capturing all subtree elements
我正在尝试捕获特定应用程序的所有子树元素,在某些机器上我获得了所有元素,但在某些机器上一半的元素(即子元素)丢失了。
FindAll(TreeScope.Subtree, Condition.TrueCondition);
我已经尝试安装 Microsoft .NET Framework 4.5 但没有成功
可能是什么问题?为什么 UI 自动化在不同的机器上表现不同?不允许 UI 自动化获取所有子元素的客户端计算机可能缺少什么?
客户端机器是否也需要Microsoft .NET Framework 4.5 SDK?
系统配置:
开发人员机器:(工作正常)
操作系统:Windows7专业
开发应用程序:Visual Studio 2012 Professional
.NET 框架: 4.5.2
.NET Framework SDK: 4.5
客户端机器:(无法获取子元素)
操作系统:Windows7专业
.NET 框架: 4.5
.NET Framework SDK: NA
开发者机器上没有安装额外的软件,Framework 和 Framework SDK 也是 Visual Studio 2012 才安装的。
获取元素的代码很简单,我正在尝试获取鼠标位置的元素:
System.Windows.Point _location = new System.Windows.Point(Cursor.Position.X,Cursor.Position.Y);
AutomationElement _ele = AutomationElement.FromPoint(_location);
我不知道为什么会存在这个问题,但我已经在一个经过测试的应用程序中看到,有时必须选择并单击父节点以展开其子节点,以便可以通过自动化看到它们。
所以您可以做的是创建您的自定义查找方法,该方法选择并单击一个节点以展开它,然后再尝试检索其子节点。
签署我们的 exe 后,我们开始获取所有必需的元素,签署 exe 将增加您的应用程序的访问权限。
我正在尝试捕获特定应用程序的所有子树元素,在某些机器上我获得了所有元素,但在某些机器上一半的元素(即子元素)丢失了。
FindAll(TreeScope.Subtree, Condition.TrueCondition);
我已经尝试安装 Microsoft .NET Framework 4.5 但没有成功
可能是什么问题?为什么 UI 自动化在不同的机器上表现不同?不允许 UI 自动化获取所有子元素的客户端计算机可能缺少什么?
客户端机器是否也需要Microsoft .NET Framework 4.5 SDK? 系统配置:
开发人员机器:(工作正常)
操作系统:Windows7专业
开发应用程序:Visual Studio 2012 Professional
.NET 框架: 4.5.2
.NET Framework SDK: 4.5
客户端机器:(无法获取子元素)
操作系统:Windows7专业
.NET 框架: 4.5
.NET Framework SDK: NA
开发者机器上没有安装额外的软件,Framework 和 Framework SDK 也是 Visual Studio 2012 才安装的。
获取元素的代码很简单,我正在尝试获取鼠标位置的元素:
System.Windows.Point _location = new System.Windows.Point(Cursor.Position.X,Cursor.Position.Y);
AutomationElement _ele = AutomationElement.FromPoint(_location);
我不知道为什么会存在这个问题,但我已经在一个经过测试的应用程序中看到,有时必须选择并单击父节点以展开其子节点,以便可以通过自动化看到它们。
所以您可以做的是创建您的自定义查找方法,该方法选择并单击一个节点以展开它,然后再尝试检索其子节点。
签署我们的 exe 后,我们开始获取所有必需的元素,签署 exe 将增加您的应用程序的访问权限。