2017-02-10 6 views
0

私はUIオートメーションを使いたいです。その他の質問(https://stackoverflow.com/a/41768047/3402056)に記載されているように、System.Windows.Automationは非推奨です。だから私の質問 - どのようにCOM IUIAutomationをpowershellで使用するのですか?PowerShellでIUIAutomationを使用するには?

-ComObjectパラメータを持つコマンドレットのNew-Objectがあります。このパラメータは、作成可能なCoClassの名前を受け入れますか?どこで入手できますか?

+0

こんにちは、何をしようとしていますか? – sodawillow

+0

私はIUIAutomation COMオブジェクトを取得しようとします。 'New-Object -ComObject IUIAutomation'は動作しません。 – dartNNN

+0

その理由は、そのインターフェイスの名前です。作成可能なCoClassの名前を付ける必要があります。 – Ben

答えて

1

System.Windows.Automationが多少非推奨ですが、されています

  • それは、ほとんどの操作のために十分に正常に動作し、私は、リンク先の記事で述べたパフォーマンスの問題は、それが非推奨だという事実に関連しているかわかりません。
  • これはネイティブのWindows提供のUIAutomationCore.dllアセンブリに依存しています。このアセンブリには新しいコードがすべて含まれているため、System.Windows.Automationの下に新しいCOMオブジェクトが間接的に使用されています。
  • .NET Automationオブジェクト(System.Windows.Automationと混同しないでください)、つまり.NET、VB6、Scriptingなどを使用できるのは、PowerShellで使用できる唯一のAPIだと思います。純粋でないIUnknown (IDispatchではなく)インターフェイスです。あなたは(マイクロソフトの人によって書かれた)UIAutomationClientアセンブリのより新しいバージョンをあるUI Automation COM-to-.NET Adapterを使用することができます別の方法として

が、これはあなたがあなたの場合は、Windows 8 UIA新しいプロパティとパターンを必要とする、または場合にのみ必要ですそれがあなたのためにうまくいくことを観察してください。

関連する問題