Windowsアプリケーション内でIUIAutomationElementsを取得できるのは、アプリ「X」(Inspect.exe | Narrator.exe | Magnify.exe)が実行されています。 'X'を実行しないと、IUAutomationElementを取得しようとしているアプリケーションが基本的にブラックボックスになります。たとえば、Microsoft Excel内では、 'X'が実行されているときにセル識別子(A1、D6など)を取得できます。バックグラウンドで「X」がなければ、Excelワークブック自体が最も細かいところです。Inspect.exe、Magnify.exe、Narrator.exeが実行されていない状態で、最も深いIUIAutomationElementを取得できません。
私はuiAccess = trueを設定してアプリケーションに署名し(http://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/nftechsupt.web+WinBatch/Manifest+Manifest~Faqs.txtを使用)、Secure(Program Files)の場所に移動しても機能していないことを確認しました。
FYI:Dev Env:C++プロジェクト、Microsoft Visual Studio 2015、Community Edition
Excelが実際にUIですオートメーションに対応します。問題を再現したサンプルがありますか?同じUACレベルでアプリを実行する必要があることに注意してください(Excelが管理者として実行されていない場合、アプリは管理者として実行してはいけません)。署名、プログラムファイルとは関係ないので、マニフェストなしで実行できるはずです –
UACレベルの提案に感謝します。それがそれでした。 – RealSalazar
最終的にどのようにサンプルコードを提供していただけますか? –