.net – UISpy.exe和Inspect.exe有什么区别? (来自Microsoft Windows SDK)

我真的想知道,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是一个使用.NET的UIAutomation程序集的.NET程序.这些程序集随.NET Framework 2一起引入.

Inspect是一个使用UIAutomationCore.dll(在系统目录中可用)的本机程序. UIAutomationCore是一个实现UI Automation Windows API的本机COM Windows DLL.此API已经使用Windows升级,例如,这里是Windows 8改进的链接What’s New in UI Automation?

.NET的UIAutomation程序集在内部使用UIAutomationCore.dll.但是,Microsoft从未将它们升级到本机UI Automation API的新功能.因此,如果使用原始.NET的UIAutomation,则会丢失许多属性(例如,所有非常有用的ARIA属性),模式,事件等.

但是,在.NET世界中仍有希望,因为这里有一个项目:https://uiacomwrapper.codeplex.com/是.NET UIAutomation的源兼容新版本(事实上它是由微软人写的,我不明白他们为什么不要以更官方的方式发布它并升级.NET的UIAutomation ……).它定义了大多数新的Windows 8属性,模式和接口.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...