Я хотел бы знать, в .NET, если (управляемый) Microsoft UI Automation основы обеспечивает некоторый способ для создания экземпляра AutomationElement
типа заданного значения окна AutomationId
, подавляя таким образом необходимость поиска окна с помощью дескриптора окна или другого идентификатора.Может ли быть создан экземпляр типа AutomationElement с учетом значения AutomationId?
Псевдо пример написанный в VB.NET, чтобы понять свою цель:
Dim automationId As Integer = 1504
Dim element As AutomationElement = AutomationElement.FromAutomationId(automationId)
Лучшее, что я мог найти, это [это] (https://msdn.microsoft.com/en-us/library/aa349646 (v = vs.110) .aspx). В противном случае я бы сказал, постройте свои собственные классы (если возможно) и заткните/переопределите свойство 'AutomationId'. Затем, когда выполняется его сеттер, вы сохраняете «окно»/«управление» в глобальном, общем списке/словаре. –
@Visual Vincent Thankyou, «проблема», которую я вижу, заключается в том, что это решение является методологией поиска, а также нужно, чтобы AutomationElement выполнял поиск по своим элементам - дорогому алгоритму поиска. Я хотел бы знать, существует ли более «прямой» способ избежать всего этого. – ElektroStudios