Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 什么';UISpy.exe和Inspect.exe的区别是什么?(来自Microsoft Windows SDK)_.net_Ui Automation_Microsoft Ui Automation_Ui Spy_Inspect.exe - Fatal编程技术网

.net 什么';UISpy.exe和Inspect.exe的区别是什么?(来自Microsoft Windows SDK)

.net 什么';UISpy.exe和Inspect.exe的区别是什么?(来自Microsoft Windows SDK),.net,ui-automation,microsoft-ui-automation,ui-spy,inspect.exe,.net,Ui Automation,Microsoft Ui Automation,Ui Spy,Inspect.exe,我真的很想知道Inspect.exe是如何获取其UI元素的,因为它获取的元素远远多于UISpy(这两种元素在Microsoft Windows SDK 7中都可用) 1) 我认为UISpy可以通过UIAutomation库获取它的元素,对吗? (使用UIAutomation进行了尝试,得到了与UISpy显示的完全相同的元素) 2) Inspect.exe使用哪个库? 因为它显示了MacromediaFlashPlayerActiveX应用程序的一些UI元素,例如,我需要在我自己的UI自动化应用程

我真的很想知道Inspect.exe是如何获取其UI元素的,因为它获取的元素远远多于UISpy(这两种元素在Microsoft Windows SDK 7中都可用)

1) 我认为UISpy可以通过UIAutomation库获取它的元素,对吗? (使用UIAutomation进行了尝试,得到了与UISpy显示的完全相同的元素)

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

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

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

Inspect
是一个使用UIAutomationCore.dll(可在系统目录中找到)的本机程序。UIAutomationCore是一个本机COM Windows DLL,它实现了。此API已使用Windows升级,例如,下面是指向Windows 8+改进的链接:

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


但是,在.NET世界仍然有希望,因为这里有一个项目:这是一个源代码兼容的.NET UIAutomation的新版本(事实上是由一个微软的家伙写的,我不明白为什么他们不以更正式的方式发布它并升级.NET的UIAutomation…)。它定义了大多数新的Windows 8属性、模式和界面。

实际上不是重复的,但是。UISpy是,Inpect是推荐的替代品。你会看到微软内部不同部门的不同团队之间的摩擦,这是一家非常大的公司。UI自动化是Windows小组的责任,他们不喜欢.NET,它由服务器和工具所有。可悲的是,温特的崩溃并没有使他们的情绪低落多少。如果您以.NET为目标,那么UISpy是对System.Windows.Automation命名空间的最准确反映。UISpy现在已过时,建议使用Inspect.exeOn,Microsoft声明“Inspect是一个遗留工具。我们建议改为使用。”(免责声明:我不是这方面的专家,我只是在谷歌上搜索答案,结果出现在这里(然后出现在MS页面上))还有另一个更好的工具,关于工具Visual UIA Verify和一篇有用的文章的很好的提示。但是要找到工具本身并不容易。你可以在这里下载:…解压缩ZIP,转到sourceCode,解压缩sourceCode.ZIP,打开解决方案,编译它,运行它,玩得开心…对我来说,编译工作没有任何问题。我不理解为什么没有官方下载或二进制文件。