【发布时间】:2019-10-30 19:29:54
【问题描述】:
我真的很想知道,Inspect.exe 是如何获得它的 UI 元素的,因为它获得的元素远远多于 UISpy(两者都在 Microsoft Windows SDK 7 中可用)。
1) 我认为 UISpy 使用 UIAutomation 库获取它的元素,对吗? (用 UIAutomation 进行了尝试,得到了与 UISpy 显示的完全相同的元素)。
2) Inspect.exe 使用哪个库? 因为它显示了带有 MacromediaFlashPlayerActiveX 的应用程序的一些 UI 元素,我需要在我自己的 UI-Automation-Application 中获取这些元素,希望有人对此有所了解。
编辑:Inspect 也有一个“UI 自动化”模式,它是否也使用 UIAutomation 库?奇怪的是,在 Inspect 中它还显示了比 UISpy 更多的元素。
【问题讨论】:
-
UISpy 是 declared obsolete,建议替换 Inpect。你在微软内部看到了不同部门、不同团队之间的摩擦,它是一家非常大的公司。 UI 自动化是 Windows 组的职责,他们不喜欢 .NET,由 Servers 和 Tools 拥有。可悲的是,WinRT 的崩溃并没有让他们失望。如果您以 .NET 为目标,那么 UISpy 是您可以使用 System.Windows.Automation 命名空间的最准确反映。
-
UISpy 已过时,建议使用 Inspect.exe
-
在a page dated 02018-05-31 上,Microsoft 声明“Inspect 是一个遗留工具。我们建议改用Accessibility Insights。” (免责声明:我不是这方面的专家,我只是在谷歌上搜索答案并最终来到这里(然后在 MS 页面上))
标签: .net ui-automation microsoft-ui-automation ui-spy inspect.exe