実行中のサードパーティの.NETアプリケーションをイントロスペクトする必要のあるアプリケーションがあります。ソースはありません。画面上のフォーム、コントロール、およびそれらの画面上の相対位置を読み取れるようにする必要があります。
どのライブラリまたはテクノロジ(Microsoftまたはその他)が利用可能ですか?
必要なもの:
- これをプログラムで実行するには(つまり、Visual Studioプラグインには興味がありません)、作成するアプリケーションから実行します。
- すべての(またはできるだけ多くの)CLRアプリケーションをサポートするため
- 開いているすべての画面/フォームを検索できるようにする
- 特定の画面/フォームについて、すべてのコントロールを見つけます
コントロールについては、次のようなプロパティをお読みください。
- 画面上の値(つまり、入力フィールドのテキスト)、
- フォントサイズ、色、スタイル、
- フォーム上の場所
- 任意のラベル
- コントロールの親パネル/グループ
画面のフォーカスがどこにあるかを検出します
私が必要としないもの(ただし、追加の価値を除いて):
- 他のオブジェクトを検出したり、ランタイムオブジェクトグラフを復元したりするには
- サードパーティのソースを逆コンパイルまたは取得するため
- アプリケーションのクラス階層を発見する
- アプリケーションの実行時状態の他の側面にドリルダウンする
- ネイティブC++アプリケーションを内省するには
- 別のコンピューター/VMからアプリケーションをイントロスペクトします。