Может быть инстанцирован элемента automationelement тип заданному значению AutomationId?

Я хотел бы знать, в .NET, если (удалось)автоматизация пользовательского интерфейса Microsoft framework предоставляет некоторый способ создания экземпляра AutomationElement введите значение AutomationId значение окна, подавляя таким образом необходимость поиска окна по дескриптору окна или другим идентификаторам.

псевдо-пример, написанный в VB.NET чтобы понять мою цель:--8-->

Dim automationId As Integer = 1504
Dim element As AutomationElement = AutomationElement.FromAutomationId(automationId)

1 ответов


Ну, нет. Любое свойство automation является свойством элемента. Элементы автоматизации не обязательно соответствуют HWNDs (каждый HWND имеет элемент автоматизации, но очень немногие элементы автоматизации имеют HWNDs, особенно в современных UI-фреймворках), и поэтому требуется прогулка по дереву. Кроме того, хорошая вещь об автоматизации пользовательского интерфейса заключается в том, что происходит прогулка по дереву на стороне провайдера, не в вашем приложении, уменьшая количество межпроцессных вызовов.