首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UISpy.exe和Inspect.exe有什么不同?(来自Microsoft Windows SDK)

UISpy.exe和Inspect.exe有什么不同?(来自Microsoft Windows SDK)
EN

Stack Overflow用户
提问于 2016-11-09 04:42:35
回答 1查看 16.7K关注 0票数 17

我真的很想知道,Inspect.exe是如何获得它的UI元素的,因为到目前为止,它比UISpy (两者都可以在Microsoft Windows SDK7中使用)获得更多的元素。

1)我认为UISpy通过UIAutomation库获得了它的元素,对吗?(在UIAutomation中尝试了一下,得到的元素与UISpy显示的元素完全相同)。

2) Inspect.exe使用哪个库?例如,因为它显示了带有MacromediaFlashPlayerActiveX的应用程序的一些UI元素,所以我需要在我自己的UI-自动化-应用程序中获取这些元素,希望有人对此有所了解。

编辑: Inspect也有一个"UI自动化“模式,它也使用UIAutomation库吗?奇怪的是,在检查中,它还显示了比UISpy多得多的元素。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-09 07:19:08

UISpy是一个使用.NET的UIAutomation程序集的.NET程序。这些程序集是在.NET框架2中引入的。

Inspect是使用UIAutomationCore.dll的本机程序(可在系统目录中找到)。UIAutomationCore是实现UI Automation Windows API的本机COM Windows DLL。此8+已随Windows升级,例如,这里有指向Windows API改进的链接: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...)。它定义了大多数新的Windows8属性、模式和接口。

票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40496048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档