我想知道,在 .NET 中,如果(托管) Microsoft UI Automation 框架提供了一些实例化AutomationElement
类型的方法, AutomationId
窗口的值,以这种方式抑制需要通过窗口句柄或其他类型的标识符搜索窗口。
用VB.NET编写的伪示例,用于理解我的目的:
Dim automationId As Integer = 1504
Dim element As AutomationElement = AutomationElement.FromAutomationId(automationId)
答案 0 :(得分:3)
嗯,不。任何自动化属性都是元素的属性。自动化元素不一定对应于HWND(每个HWND都有一个自动化元素,但很少有自动化元素具有HWND,特别是在现代UI框架中),因此需要树步行。此外,UI自动化的优点在于树遍历在提供者端,而不是在您的应用程序中,减少了跨进程调用的数量。