11 .net ui-automation ui-spy microsoft-ui-automation inspect.exe
我真的想知道,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更多的元素.
先感谢您
Sim*_*ier 17
UISpy是一个.NET使用.NET的UIAutomation组件程序.这些程序集随.NET Framework 2一起引入.
Inspect是一个使用UIAutomationCore.dll(在系统目录中可用)的本机程序.UIAutomationCore是一个本机 COM Windows DLL,它实现了UI Automation Windows API.此API已使用Windows升级,例如,此处是Windows 8+改进的链接:UI自动化有哪些新功能?
.NET的UIAutomation程序集在内部使用UIAutomationCore.dll.但是,Microsoft从未将它们升级到本机UI Automation API的新功能.因此,如果使用原始.NET的UIAutomation,则会丢失许多属性(例如,所有非常有用的ARIA属性),模式,事件等.
但是,.NET世界仍有希望,因为这里有一个项目:https://uiacomwrapper.codeplex.com/这是一个与源代码兼容的新版.NET UIAutomation(事实上它是由微软编写的)伙计们,我不明白为什么他们不以更官方的方式发布这个并升级.NET的UIAutomation ......).它定义了大多数新的Windows 8属性,模式和接口.