C#を使用して、マウスポインターがあるテキストを検出するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/4350728

質問

現在、ユーザーが現在使用している標準的なWindowsアプリ(つまり、Firefox、Word、Notepadなど)について、マウスポインターがあるテキストを検出できる方法を探しています。これは可能ですか? (それは邪悪な目的ではありません、正直です!)。私はグーグルと検索を試してみましたが、これまでのところ有用なものはありませんでした。

役に立ちましたか?

解決

いくつかのアイデア:

  1. Win32 APIを使用して、カーサーの下のコントロールを見つけます。次に、制御依存コードを使用して、テキストの一部をカーソルの下に取得します。単純な場合、WM_GETTEXTで十分かもしれません
  2. 私は、あなたが望むことを正確に行うアクセシビリティAPIがあることを漠然と思い出します。しかし、私は何と呼ばれたのか覚えていません。 http://msdn.microsoft.com/en-us/library/ms697707.aspx 出発点かもしれません。
  3. OCR、既知のフォントであまり難しくないはずです

アクセシビリティのアイデアを追求してみます。

他のヒント

指摘するものによっては、場合によっては機能します。

例えば。基礎となるウィンドウハンドル(hwnd)を取得し、wm_getTextを送信することができます。 そうかもしれない あなたが望むものを取り戻してください。 (例:ボタン、テキストボックス、いくつかのラベルなどのテキスト)

ただし、ブラウザページなどで誰かを指している場合、必要なことはしません。

まあ、コードインカオスは私をbeatります。

いいえ、それは不可能です - 少なくとも一般的な方法ではありません。唯一の可能性は、本質的に「この場所に何を置いたの?」と尋ねるテキストを画面に置くアプリケーションを照会することです。

スクリーンショットを撮ってから、OCRを使用して画像をテキストに変換できます。マウスカーソルの位置を照会し、画像のどこにあるかを相関させることができると思います。

良い解決策ではありませんが、それはあなたに何かを与えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top