System.Windows.Automation несколько устарела, но:
- она работает достаточно хорошо для большинства операций, и я не уверен, что проблемы с производительностью, упомянутые в связанной статье связано с тем, что это осуждается.
- он полагается на собственную Windows-оснастку UIAutomationCore.dll сборка, которая все равно содержит все новые коды, поэтому моя система System.Windows.Automation косвенно использует новые COM-объекты под ней.
- Я считаю, что это единственный API, который вы можете использовать в PowerShell, потому что вы можете использовать объекты COM Automation (не путать с System.Windows.Automation), то есть: .NET, VB6, Scripting и т. Д. Не чистые IUnknown (не IDispatch).
В качестве альтернативы можно использовать UI Automation COM-to-.NET Adapter, который является более поздней версией сборки UIAutomationClient (написанной парнем Microsoft), но это необходимо только, если вам нужно для Windows 8 МАУ новых свойства и закономерность, или если вы наблюдайте, как он работает лучше для вас.
Привет, что вы пытаетесь сделать? – sodawillow
Я пытаюсь получить объект COM IUIAutomation. 'New-Object -ComObject IUIAutomation' не работает. – dartNNN
Это потому, что его имя интерфейса. Вы должны указать имя создаваемого CoClass. – Ben