0

グリッドを含む外部Windowsアプリケーション(ソースコードなし)があります。これは別のプロセスとして実行されます。ユーザーがマウスクリックでグリッド内のセルを選択すると、そのセル内の値を読み取れるようにする必要があります。イベントをトラップしてリッスンできるようにするために、どのAPIを使用する必要があるかについて誰かが指示を与えることができますか?

4

1 に答える 1

1

あなたの最良の選択肢は、古い技術としての UIオートメーションの概要またはアクセシビリティです。

また、このPinvoke SetFocus を別のプロセスで呼び出す方法に関する特定のコントロールを見ることもできます(自動化とはほとんど関係なく、自動化はそれなしで機能します)。

UI オートメーションはこの仕事に最適なツールですが欠点は、すべてのアプリがそれをサポートしているわけではないことです。そのため、これは対象とするアプリに大きく依存します。従来のアクセシビリティ (IAccessible、IAccessible2 など) のみをサポートするものもありますが、通常は「組み合わせた」アプローチがあります。古い手法はもはやうまく機能しませんが、ウィンドウ、ターゲット ウィンドウの子ウィンドウをトラバースしてみてください (その方向については、遅かれ早かれ上記の手法が必要になるでしょう)、標準コントロール、ウィンドウから取得できることを期待しますテキスト、メッセージなどを介して

于 2012-04-17T16:03:43.097 に答える