C#を使用して、マウスポインターがあるテキストを検出するにはどうすればよいですか?
-
08-10-2019 - |
質問
現在、ユーザーが現在使用している標準的なWindowsアプリ(つまり、Firefox、Word、Notepadなど)について、マウスポインターがあるテキストを検出できる方法を探しています。これは可能ですか? (それは邪悪な目的ではありません、正直です!)。私はグーグルと検索を試してみましたが、これまでのところ有用なものはありませんでした。
解決
いくつかのアイデア:
- Win32 APIを使用して、カーサーの下のコントロールを見つけます。次に、制御依存コードを使用して、テキストの一部をカーソルの下に取得します。単純な場合、WM_GETTEXTで十分かもしれません
- 私は、あなたが望むことを正確に行うアクセシビリティAPIがあることを漠然と思い出します。しかし、私は何と呼ばれたのか覚えていません。 http://msdn.microsoft.com/en-us/library/ms697707.aspx 出発点かもしれません。
- OCR、既知のフォントであまり難しくないはずです
アクセシビリティのアイデアを追求してみます。
他のヒント
指摘するものによっては、場合によっては機能します。
例えば。基礎となるウィンドウハンドル(hwnd)を取得し、wm_getTextを送信することができます。 そうかもしれない あなたが望むものを取り戻してください。 (例:ボタン、テキストボックス、いくつかのラベルなどのテキスト)
ただし、ブラウザページなどで誰かを指している場合、必要なことはしません。
まあ、コードインカオスは私をbeatります。
いいえ、それは不可能です - 少なくとも一般的な方法ではありません。唯一の可能性は、本質的に「この場所に何を置いたの?」と尋ねるテキストを画面に置くアプリケーションを照会することです。
スクリーンショットを撮ってから、OCRを使用して画像をテキストに変換できます。マウスカーソルの位置を照会し、画像のどこにあるかを相関させることができると思います。
良い解決策ではありませんが、それはあなたに何かを与えます。
所属していません StackOverflow