缺少孩子将 inspect.exe 与 UIAComWrapper.dll 进行比较返回 AE.RootElement.FindAll(TreeScope.Children, Condition.Tr

Posted

技术标签:

【中文标题】缺少孩子将 inspect.exe 与 UIAComWrapper.dll 进行比较返回 AE.RootElement.FindAll(TreeScope.Children, Condition.TrueCondition) 的值【英文标题】:Missing child comparing inspect.exe to UIAComWrapper.dll returned value of AE.RootElement.FindAll(TreeScope.Children, Condition.TrueCondition) 【发布时间】:2018-02-18 22:59:24 【问题描述】:

我正在尝试与第三方应用程序交互。我想保存客户端显示的文本值以供审核。

使用 UISpy.exe 时缺少许多元素,使用 Inspect.exe 时缺少完整列表。这让我相信,为了与这个应用程序交互,我必须使用 UIAComWrapper.dll。

这是inspect.exe的结果,里面有完整的信息,我想存储它。

inspect.exe 与所有子项:

当我运行以下代码时,它会返回除一个已编辑元素之外的所有元素。

Dim rootChildren = AutomationElement.RootElement.FindAll(TreeScope.Children, Condition.TrueCondition)

如何获取根元素的子元素的完整列表?

当我使用标准 UIAutomationClient.dll(无 com 包装器)时,我得到了 rootElement 的完整子级列表,包括已编辑的元素。但是,该元素没有子元素,除了标题栏。

我想准确检索此元素的 inspect.exe 显示的内容,然后存储树。

【问题讨论】:

【参考方案1】:

第三方应用程序以管理员身份运行,但 Visual Studio 不是。当 VS 以管理员身份打开并运行时,rootElement.children 列表与 inspect.exe 匹配。

【讨论】:

以上是关于缺少孩子将 inspect.exe 与 UIAComWrapper.dll 进行比较返回 AE.RootElement.FindAll(TreeScope.Children, Condition.Tr的主要内容,如果未能解决你的问题,请参考以下文章

求发个类似spy++,uispy的软件Inspect.exe下载

Swift Firebase 快照查询缺少孩子

类型中缺少属性“孩子”

addChild() 缺少 1 个必需的位置参数:'pk

将线程输入附加到目标进程后,SendInput 不起作用

如何将每个孩子与第 n 个孩子同时定位在 flex/grid/whatever 中?