2009-08-24 10 views
1

Answers.comにはタスクバーアプリケーションがあり、プログラムの中で単語をALT +マウスクリックすると、Webサイトから情報を取得したウィンドウがポップアップします。どのプログラムでも現在の単語にアクセスする方法

私の質問は、このようなことをするために使用された実際のプログラミングの仕組みとAPIは何ですか?私は、Windowsアプリケーションプログラミングの経験はありませんし、どこから開始するのか把握しようとしています。マウスが指す現在の単語にはどうやってアクセスしますか?

このようなことを行う例やオープンソースソフトウェアを知っている人はいますか?

答えて

0

私はこのようなことを自分のwysiwygエディタ内に行っていましたので、マウスでクリックした単語を計算するのに必要なすべてのフォント特性に完全にアクセスできました。

すべてのアプリケーションが.NETまたはcomである場合、またはこれを直接取得する方法を提供する他のフレームワークを共有する場合は、これを行う簡単な方法があります。

APIを使用して、キーボードとマウスのメッセージをフックして、アプリケーションがマウスをクリックするたびに他のアプリケーションを処理できるようにします。SetWindowsHookExから始め、メッセージをフックすることについてすべてを読むことができます。

メッセージを前処理するようにアプリを取得した後、クリックされたテキストを取得する必要があります。テキストはさまざまな方法でデバイスコンテキストにペイントできるため、テキストはビットマップとしてしか存在しない可能性があるため、クリックした領域のスクラップを避けることをお勧めします。このような場合は、スクラップビットマップをテキストに変換するためにOCRを実行する必要があります。他の場合、テキストはウィンドウにテキストとして存在することがあります - WM_GETTEXTメッセージは、テキストボックス(たとえばテキストボックス、ボタンなど)からこのテキストを返すことがありますが、通常のウィンドウの場合、このメッセージはキャプションバーのタイトルのみを返します。

申し訳ありませんが、私は明確な答えはありませんが、これはあなたが正しい方向に開始することができます。

関連する問題