2010-12-03 7 views
0

私はマウスポインターがどこにあるのか、ユーザーが現在使っているどんな標準Windowsアプリケーション(IE、Firefox、Word、メモ帳など)でもテキストを検出できる方法を探しています。これは可能ですか? (邪悪な目的のためではありません、正直!)。私はグーグルで検索してみましたが、今まで何の役に立つものもありませんでした。C#を使用して、マウスポインタのあるテキストをどのように検出できますか?

答えて

2

いくつかのアイデア:

  1. カーソル下のコントロールを見つけるために、Win32 APIのを使用しています。次に、コントロールに依存するコードを使用して、カーソルの下のテキストの一部を取得します。単純なケースでは、WM_GetTextで十分かもしれません。
  2. 欲しいものを正確に実行しているアクセシビリティapiがあることをぼんやりと思い出します。しかし、私は何が呼ばれたのか覚えていません。 http://msdn.microsoft.com/en-us/library/ms697707.aspxが出発点になる可能性があります。
  3. OCR、私はアクセシビリティアイデアを追求してみたい、既知のフォント

であまりにも難しいことではありません。

+0

ありがとう、少なくとも#1と#2の間で動作させる方法があるはずです。 – mikel

0

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

0

スクリーンショットを撮ってから、OCRを使ってイメージをテキストに変換することができます。私はあなたがマウスカーソルの位置をOSに問い合わせることができ、それが画像内のどこにあるのかを関連付けることができると思います。

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

2

あなたが何を指しているかによって、場合によっては機能します。

例えば、あなたは元のウィンドウハンドル(hwnd)を取得し、それにwm_gettextを送ることができ、かもしれないあなたが戻ってほしいものを得る。 (ボタン、テキストボックス、いくつかのラベルなどのテキストなど)

しかし、あなたは、ブラウザのページにsomehwere指している場合、それはあなたがやりたいことではないでしょうか..だから

MEH、CodeInChaosはそれに私を打ちます。

関連する問題