What's the difference of UISpy.exe and Inspect.exe? (From Microsoft Windows SDK)

前端 未结 1 1349
一个人的身影
一个人的身影 2020-12-29 07:17

I really want to know, how Inspect.exe gets it\'s UI-Elements, because it gets by far more elements than UISpy (Both available in Microsoft Windows SDK 7).

1) I thin

相关标签:
1条回答
  • 2020-12-29 08:01

    UISpy is a .NET program that uses .NET's UIAutomation assemblies. These assemblies were introduced with .NET Framework 2.

    Inspect is a native program that uses UIAutomationCore.dll (available in the System directory). UIAutomationCore is a native COM Windows DLL that implements the UI Automation Windows API. This API has been upgraded with Windows, for example here is a link to Windows 8+ improvements: What's New in UI Automation?

    .NET's UIAutomation assemblies use UIAutomationCore.dll internally. However, Microsoft never upgraded them to new features of the native UI Automation API. A lot of properties (for example all ARIA properties which are very useful), patterns, events, etc, are therefore missing if you use the original .NET's UIAutomation.

    But, there is still hope in the .NET world, because there is a project here: https://uiacomwrapper.codeplex.com/ that is a source-compatible newer version of .NET UIAutomation (It's been in fact written by a Microsoft guy, I don't understand why they don't publish this in a more official way and upgrade .NET's UIAutomation...). It defines most new Windows 8 properties, patterns and interfaces.

    0 讨论(0)
提交回复
热议问题