2017-02-22 8 views
2

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

+0

Excelが実際にUIですオートメーションに対応します。問題を再現したサンプルがありますか?同じUACレベルでアプリを実行する必要があることに注意してください(Excelが管理者として実行されていない場合、アプリは管理者として実行してはいけません)。署名、プログラムファイルとは関係ないので、マニフェストなしで実行できるはずです –

+0

UACレベルの提案に感謝します。それがそれでした。 – RealSalazar

+0

最終的にどのようにサンプルコードを提供していただけますか? –

答えて

1

一般に、UI自動化が機能するには、自動化されたアプリケーションは、自動化するアプリケーションと同じUAC levelで実行する必要があります。

だから、エクセルが管理者として実行されていない場合、例えば、自動化アプリケーションを管理者として実行してはならない、またはExcelを管理者として実行された場合、自動化アプリケーションは管理者として実行しなければならない、など

関連する問題