3

UI以外の自動化要素を含む任意のウィンドウの選択されたテキストを取得することは可能ですか?プロセスの現在フォーカスされている要素の現在のコンテンツの選択されたテキストを取得できるようにしたい。

UIオートメーションを使用してこれを行うさまざまな例を見てきましたが、これは、.NETで最近開発されたアプリケーションのように見える特定のアプリケーションでのみ機能します。任意のウィンドウのテキストを取得できる必要があります。

しばらく前に、辞書のように動作するアプリケーションを覚えています。このアプリケーションでは、Windowsの任意の場所でマウスを使用してテキストにカーソルを合わせると、定義付きのツールチップが表示されます。これはC#と.NETで実現できますか?

WinSpyを使用して、UIAで機能していないように見えるウィンドウのコンテンツを検査してきましたが、ApplicationIdが空または「」として表示されます。この特定の要素はUIAでサポートされていないと思います。また、Notepad ++でテストしたときに、Scintillaを使用していることに気付きました。これもUIAでは再生されないようです。

おそらく、誰かが他の方法でこれを行うための信頼できる方法を示すことができれば、私は自分のアプリにハイブリッドアプローチを使用することができます。UIAフレームワークを使用します。これで結果が得られない場合は、他の方法に戻ります。

4

1 に答える 1

1

これを実現する簡単な方法の1つは、選択したウィンドウにキーコードを送信するとCTRL + C、クリップボードで選択したテキストを見つけることができます。これは非常に簡単に実装できます。他のプロセスへのキーの送信についてはこちらを、クリップボードを読むにはこちらをご覧ください。欠点は、クリップボードの内容が明らかに失われることです。より確実な解決策を探している場合は、この質問を確認してください

于 2012-01-28T19:56:09.110 に答える