検索開始モジュール、テキスト選択モジュールおよび検索モジュールを含むインスタントメッセンジャであって、前記検索開始モジュールが便利検索機能を開始するコマンドを受信するように構成され、前記テキスト選択モジュールが、テキストの選択を開始するコマンドおよびテキストの選択を終了するコマンドをモニタし、前記テキストの選択を開始するコマンドおよび前記テキストの選択を終了するコマンドに従ってテキスト内容を選択するように構成され、前記検索モジュールが、前記テキストの選択を終了するコマンドをモニタし、前記テキスト選択モジュールが前記テキスト内容を選択した後前記テキスト内容の検索を開始するように構成される、インスタントメッセンジャ。前記テキスト選択モジュールが、前記インスタントメッセンジャのテキスト領域の中に入力された前記テキストの選択を開始するコマンドおよび前記テキストの選択を終了するコマンドをモニタするように構成され、前記テキスト領域がメッセージ表示領域およびメッセージ入力領域のうちの少なくとも1つを含む、請求項1に記載のインスタントメッセンジャ。前記テキストの選択を開始するコマンドがマウスの左キーを押す操作であり、前記テキストの選択を終了するコマンドがマウスの左キーを放す操作である、請求項2に記載のインスタントメッセンジャ。前記テキスト選択モジュールが、前記マウスの左キーの操作をモニタし、前記マウスが位置するウィンドウの位置を特定し、前記ウィンドウの制御ツリーに従って前記テキスト領域の制御ボタンの位置を特定し、前記テキスト領域の前記制御ボタンによって提供されたインタフェースを介して前記選択されたテキスト内容を取得するように構成された、請求項3に記載のインスタントメッセンジャ。前記検索モジュールが、前記インスタントメッセンジャの現在の処理に加えて、他の処理またはウィンドウの中の前記テキスト内容を受け、前記テキスト内容を受けた後直ちに前記テキスト内容の検索を開始するように構成された、請求項1に記載のインスタントメッセンジャ。前記検索モジュールが、その中に前記テキスト内容がキーワードとして埋められたユニバーサルリソースロケータを生成し、前記生成されたURLを検索エンジンに送信するように構成され、前記検索エンジンが前記URLに従って検索を実行する、請求項1または5に記載のインスタントメッセンジャ。メッセージポンプおよび終了モジュールをさらに含み、前記メッセージポンプが、前記検索開始モジュールが便利検索機能を開始する前記コマンドを受信した後前記インスタントメッセンジャの現在の処理のすべてのメッセージを受信し、前記便利検索処理用に使用されるメッセージを前記テキスト選択モジュールまたは前記終了モジュールに送信し、配信するために他のメッセージを現在の処理に戻し、終了指示を受信し、前記メッセージポンプをクローズするように構成され、前記テキスト選択モジュールが、前記メッセージポンプによって送信された前記テキストの選択を開始するコマンドおよび前記テキストの選択を終了するコマンドに従って前記テキスト内容を選択し、終了指示を受信し、前記テキスト選択モジュールをクローズするように構成され、前記検索モジュールが、終了指示を受信し、前記検索モジュールをクローズするように構成され、前記終了モジュールが、前記メッセージポンプによって送信された前記便利検索処理を終了するメッセージを受信し、前記終了指示を前記メッセージポンプ、前記テキスト選択モジュールおよび前記検索モジュールに送信するように構成された、請求項1に記載のインスタントメッセンジャ。前記便利検索処理を終了するメッセージが、現在のチャットウィンドウをクローズするメッセージ、オペレーションシステムを終了するメッセージ、ESCキーを押すメッセージ、マウスの右キーをクリックするメッセージ、および実行可能な制御ボタンをクリックするメッセージのうちの少なくとも1つを含む、請求項6に記載のインスタントメッセンジャ。インスタントメッセンジャによって便利検索を実行する方法であって、便利検索機能を開始するコマンドを前記インスタントメッセンジャによって受信するステップと、テキストの選択を開始するコマンドおよびテキストの選択を終了するコマンドをモニタするステップと、前記テキストの選択を開始するコマンドおよび前記テキストの選択を終了するコマンドに従ってテキスト内容を選択するステップと、前記テキストの選択を終了するコマンドを受信した後前記テキスト内容の検索を開始するステップとを含む方法。前記テキストの選択を開始するコマンドおよび前記テキストの選択を終了するコマンドをモニタする前記ステップが、メッセージポンプを開始するステップと、前記インスタントメッセンジャの現在の処理のすべてのメッセージを受信するステップと、便利検索処理用に使用されるメッセージを判定するステップと、前記便利検索処理用に使用される前記メッセージに従って便利検索を実行するステップと、配信するために他のメッセジを現在の処理に戻すステップとを含む、請求項9に記載の方法。前記便利検索処理用に使用される前記メッセージが、前記テキストの選択を開始するコマンド、前記テキストの選択を終了するコマンド、および前記便利検索処理を終了するメッセージを含む、請求項10に記載の方法。前記便利検索処理を終了する前記メッセージが、現在のチャットウィンドウをクローズするメッセージ、オペレーションシステムを終了するメッセージ、ESCキーを押すメッセージ、マウスの右キーをクリックするメッセージ、および実行可能な制御ボタンをクリックするメッセージのうちの少なくとも1つを含む、請求項11に記載の方法。前記インスタントメッセンジャの前記現在の処理に加えて他の処理またはウィンドウの中のテキスト内容を受けるステップと、前記テキスト内容を受けた後前記テキスト内容の検索を開始するステップとをさらに含む、請求項9に記載の方法。前記テキスト内容の検索を開始するステップが、その中に前記テキスト内容がキーワードとして埋められたユニバーサルリソースロケータを生成するステップと、前記生成されたURLを検索エンジンに送信するステップとを含み、前記検索エンジンが前記URLに従って検索を実行する、請求項9または13に記載の方法。上記に鑑みて、本発明の実施形態は、インスタントメッセンジャおよびインスタントメッセンジャによって便利検索を実行するための方法を提供し、その結果便利検索を実施する。本発明の技術的解決法は以下のように実施される。インスタントメッセンジャは、検索開始モジュール、テキスト選択モジュールおよび検索モジュールを含み、検索開始モジュールは、便利検索機能を開始するコマンドを受信するように構成され、テキスト選択モジュールは、テキストの選択を開始するコマンドおよびテキストの選択を終了するコマンドをモニタし、テキストの選択を開始するコマンドおよびテキストの選択を終了するコマンドに従ってテキスト内容を選択するように構成され、検索モジュールは、テキストの選択を終了するコマンドをモニタし、テキスト選択モジュールがテキスト内容を選択した後テキスト内容の検索を開始するように構成される。インスタントメッセンジャによって便利検索を実行するための方法は、インスタントメッセンジャによって便利検索機能を開始するコマンドを受信するステップと、テキストの選択を開始するコマンドおよびテキストの選択を終了するコマンドをモニタするステップと、テキストの選択を開始するコマンドおよびテキストの選択を終了するコマンドに従ってテキスト内容を選択するステップと、テキストの選択を終了するコマンドを受信した後テキスト内容の検索を開始するステップとを含む。上記技術的解決法を見ても分かるように、便利検索機能を開始するコマンドを受信した後、インスタントメッセンジャはテキストを選択するコマンドをモニタし、テキストの選択を終了するコマンドを選択されたテキスト内容の検索を開始するコマンドとして受け取る。このようにして、インスタントメッセンジャは、テキストを選択した後直ちにテキスト内容の検索を開始することができる。さらに、インスタントメッセンジャは、テキストを選択するコマンドをモニタし、テキストの選択を終了するコマンドを検出した後直ちにテキスト内容の検索を開始するので、特別な検索ツールを立ち上げる必要がなく、また、インスタントメッセンジャのウィンドウと他の検索ツールのウィンドウとの間を切り替える必要もなく、その結果便利検索を実施し、ユーザの手助けをする。本発明の実施形態は、インスタントメッセンジャおよびインスタントメッセンジャによって便利検索を実行するための方法を提供し、結果として、チャットプロセス中に専門用語または新しい語彙を便利に検索するチャット支援機能をユーザに提供する。本発明の実施形態によって、インスタントメッセージングユーザは、チャット中にキーワードをドラッグ選択することによってIMチャットウィンドウの中で検索を実行することができる。図1は、本発明の実施形態によるインスタントメッセンジャの構造を示す概略図である。図1に示したように、インスタントメッセンジャは、検索開始モジュール101、テキスト選択モジュール102および検索モジュール103を含む。検索開始モジュール101は、便利検索機能を開始するコマンドを受信するように構成される。テキスト選択モジュール102は、テキストの選択を開始するコマンドおよびテキストの選択を終了するコマンドをモニタし、テキストの選択を開始するコマンドおよびテキストの選択を終了するコマンドに従ってテキスト内容を選択するように構成される。検索モジュール103は、テキストの選択を終了するコマンドをモニタするように構成され、テキスト選択モジュール102がテキスト内容を選択するとテキスト内容の検索を開始する。便利検索機能を開始するコマンドは、キーボード上の特定のホットキーの起動コマンド、またはインスタントメッセンジャのインタフェース上の特定のボタンの起動コマンドであり得る。具体的に言うと、テキスト選択モジュール102は、インスタントメッセンジャのテキスト領域の中に入力された、テキストの選択を開始するコマンドおよびテキストの選択を終了するコマンドをモニタし、テキスト領域はメッセージ表示領域およびまたはメッセージ入力領域を含む。テキスト選択モジュール102がテキスト領域からテキスト内容を選択すると、検索モジュール103はテキスト内容の検索を開始する。インスタントメッセンジャのテキスト領域は、メッセージ表示領域およびまたはメッセージ入力領域を含む。便利検索機能が開始された後、インスタントメッセンジャは、IMユーザがテキスト領域からテキスト内容を選択したかどうかをモニタすることができ、インスタントメッセンジャがテキストの選択を終了するコマンドを検出し、IMユーザがテキスト領域からテキスト内容を選択した場合、インスタントメッセンジャはテキスト内容の検索を直ちに開始する。通常、テキストの選択を開始するコマンドはマウスの左キーを押す操作であり、テキストの選択を終了するコマンドはマウスの左キーを放す操作である。言い換えれば、マウスの左キーを押した後、IMユーザは、マウスの左キーを放すまでテキスト領域の中のテキスト内容をドラッグ選択する。マウスの左キーを放す操作を検出した後、インスタントメッセンジャは、マウスの左キーを放す操作を、検索を開始するコマンドとして受け取り、テキスト内容が選択されたかどうかを判定する。テキスト内容が選択された場合、インスタントメッセンジャは選択されたテキスト内容を直ちに検索する。インスタントメッセンジャは、マウスの位置の特定、制御ボタンの位置の特定、およびインタフェースの呼び出しを介して、テキスト内容が選択されたかどうかを判定する。具体的に言うと、マウスの左キーを放す操作を検出した後、インスタントメッセンジャはマウスが位置するウィンドウの位置を特定し、次いで、テキスト領域がメッセージ表示領域およびまたはメッセージ入力領域を含むウィンドウの制御ツリーに従ってテキスト領域の制御ボタンの位置を特定し、テキスト領域の制御ボタンによって提供されたインタフェースを介して、ユーザによって選択されたテキスト内容を取得する。ハイライト表示モードによって、ユーザによって選択されたテキスト内容は、ユーザによって選択されていない他のテキスト内容と区別することができる。当然、他の操作情報を、テキストの選択を開始するコマンドおよびテキストの選択を終了するコマンドとして、あらかじめ定義することができる。本発明の実施形態は、テキストの選択を開始するコマンドおよびテキストの選択を終了するコマンドの形態を限定しない。例えば、特定のキーボード操作または特定の音声コマンドを、テキストの選択を開始するコマンドまたはテキストの選択を終了するコマンドとして受け取ることができる。さらに、本発明の実施形態は、検索モジュール103に対するインスタントメッセンジャの現在の処理に加えて、他のプログラムまたはウィンドウの中のテキスト内容をドラッグまたはコピーするように検索モジュール103を拡張することができ、検索モジュール103はテキスト内容を受けた後直ちにテキスト内容の検索を開始する。具体的に言うと、テキスト内容を受けた後、検索モジュール103は、その中にテキスト内容がキーワードとして埋められたユニバーサルリソースロケータを生成し、生成されたURLに従って検索を実行する。ユーザの観点から言うと、ユーザがテキスト内容を検索モジュール103にドラッグさえすれば、検索処理を開始することができる。検索エンジンのキーワードおよびURLフォーマットを学びさえすれば、URLフォーマットおよびキーワードに従って検索エンジンの要件を満たすURLを生成することができる。本発明の実施形態では、検索モジュール103はURLを生成し、URLを検索エンジンに送信するように構成され、検索エンジンは検索を実行する。ブラウザの中で検索を実行するための従来の方法では、ユーザによって入力されたキーワードはウェブページスクリプトに基づいて処理され、次いで、検索に使用されるために処理結果がバックグラウンドで検索エンジンサーバに提供される。ウェブページスクリプトによって提供される対話能力は限定されていて、ユーザによって入力されたキーワードを受けた後、さらに、検索を開始するコマンドをモニタする必要がある。例えば、enterキーを押す操作または特定のボタンをクリックする操作は、検索を開始するコマンドとして受け取られる。ユーザの観点から言うと、ユーザが検索ボックスの中にキーワードを入力した後、キーを押すかまたは特定のキーをクリックして検索を開始する必要がある。明らかに、ブラウザの中で検索を実行するための従来の方法と比較して、本発明の実施形態によって提供される方法はより簡単である。例えば、インスタントメッセンジャの中の便利検索機能が開始された後、検索モジュールはインスタントメッセンジャの右スライドバーに表示することができ、次いで、Wordドキュメントなどの他のプログラムの中のテキスト内容が検索モジュールにドラッグされる。検索モジュールは、検索を開始するコマンドをモニタすることなく、テキスト内容の検索を直ちに開始することができる。ユーザの観点から言うと、ユーザがテキスト内容を検索モジュールにドラッグした後、検索モジュールは、enterキーをクリックすることなどの他のコマンドを必要とせずに、テキスト内容を受けた後直ちにテキスト内容の検索を開始する。インスタントメッセンジャの便利検索機能を成功裏に実行または終了させるために、本発明の実施形態によって提供されるインスタントメッセンジャは、さらにメッセージポンプおよび終了モジュールを含む。デフォルトのケースでは、Windows登録商標オペレーションシステムのマウスおよびキーボードのメッセージは、入力フォーカスウィンドウだけに配信される。ドラッグ選択処理が、ユーザのウィンドウを切り替える操作などの、入力フォーカスを現在有しているウィンドウの変更操作によって影響されないことを保証するために、全ドラッグ選択処理の中の現在の処理のすべてのメッセージを横取りして、ドラッグ選択操作が成功裏に実行され、ドラッグ選択処理が正常に終了することを保証する必要がある。本発明の実施形態では、メッセージポンプがメッセージを横取りするために採用され、その結果インスタントメッセンジャ内の便利検索機能を実施するための検索モジュールが、ユーザのウィンドウを切り替える操作などの、入力フォーカスを現在有しているウィンドウの変更操作によって影響されないことを保証する。メッセージポンプは、便利検索処理に属するメッセージを取得することができ、その結果便利検索処理を成功裏に実行することを保証する。具体的に言うと、メッセージポンプは、検索開始モジュール101が開始コマンドを受信した後インスタントメッセンジャの現在の処理のすべてのメッセージを受信し、便利検索処理用に使用されるメッセージをテキスト選択モジュール102または終了モジュールに送信し、切れ目なく配信するために他のメッセージを現在の処理に戻し、終了指示を受信し、メッセージポンプをクローズするように構成される。テキスト選択モジュール102は、メッセージポンプによって送信されたテキストの選択を開始するコマンドおよびテキストの選択を終了するコマンドを受信し、終了指示を受信し、テキスト選択モジュール102をクローズするように構成される。検索モジュール103は、終了指示を受信し、検索モジュール103をクローズするように構成される。終了モジュールは、メッセージポンプによって送信された便利検索処理を終了するメッセージを受信し、メッセージポンプ、テキスト選択モジュール102および検索モジュール103に終了指示を送信するように構成される。便利検索処理を終了するメッセージは、現在のチャットウィンドウをクローズするメッセジ、オペレーションシステムを終了するメッセージ、ESCキーを押すメッセージ、マウスの右キーの起動メッセージ、および実行可能な制御ボタンの起動メッセージを含む。図2は、本発明の実施形態によるインスタントメッセンジャによって便利検索を実行するための方法を示す流れ図である。図2に示したように、方法は以下の処理を含む。ブロック201、インスタントメッセンジャが便利検索機能の開始コマンドを受信する。ブロック202、インスタントメッセンジャがテキストの選択を開始するコマンドおよびテキストの選択を終了するコマンドをモニタする。ブロック203、インスタントメッセンジャがテキストの選択を終了するコマンドを受信した後テキスト内容の検索を開始する。テキストの選択を開始するコマンドおよびテキストの選択を終了するコマンドをモニタする処理は、便利検索専用にメッセージポンプを開始すること、インスタントメッセンジャの現在の処理のすべてのメッセージを受信すること、便利検索処理用に使用されるメッセージを判定すること、便利検索処理用に使用されるメッセージに従って便利検索を実行すること、および、切れ目なく配信するために他のメッセージを現在の処理に戻すことを含む。便利検索処理用に使用されるメッセージは、テキストの選択を開始するコマンド、テキストの選択を終了するコマンド、および便利検索処理を終了するメッセージを含む。便利検索処理を終了するメッセージは、現在のチャットウィンドウをクローズするメッセージ、オペレーションシステムを終了するメッセージ、ESCキーを押すメッセージ、マウスの右キーの起動メッセージ、およびまたは実行可能な制御ボタンの起動メッセージを含む。メッセージポンプによって横取りされたメッセージから抽出されたメッセージがマウスの左キーの起動メッセージであるとき、マウスの左キーの起動位置がテキスト領域の中であり、実行可能な制御ボタンがマウスの左キーによって起動された場合、便利検索処理は終了する。テキスト内容の検索を開始する処理は、その中でテキスト内容がキーワードとして埋められたURLを生成すること、生成されたURLを検索エンジンに送信すること、および、検索エンジンがURLに従って検索を実行することを含む。インスタントメッセンジャによって便利検索を実行するための方法が特定の実施形態を参照して図式的に示され、その実施形態は以下のプロセスを含む。プロセス1ドラッグ選択状態が開始される。ユーザは、チャット処理中にボタンまたはホットキーを介してドラッグ選択状態を開始する。このとき、マウスのパターンが検索状態に変更されて、現在の状態がドラッグ選択状態であることをユーザに教える。プロセス2ドラッグ選択操作が実行される。ユーザは、ウィンドウの中のメッセージ表示領域またはメッセージ入力領域の中でキーワードをドラッグ選択し、その結果検索を実行することができる。ドラッグ選択状態は、マウスの左キーを押す起動操作の受信時に開始され、マウスの左キーを放す起動操作の受信時に終了する。テキスト領域の中の対応するテキストは、ユーザのドラッグ選択操作に従ってハイライトされる。プロセス3検索結果が表示される。ユーザがマウスの左キーを放すことによってドラッグ選択操作を終了し、文字セグメントを選択すると、チャットウィンドウの右スライドバーに検索結果が表示される。ユーザが便利検索を実行するのを容易にするために、インスタントメッセンジャの検索モジュールは、さらに拡張することができる。具体的に言うと、検索モジュールは、受けたテキスト内容を、検索を開始するコマンドとして受け取り、テキスト内容を受けた後直ちにテキスト内容の検索を開始する。すなわち、検索結果がチャットウィンドウの右スライドバーに表示された後、ユーザは、その他のウィンドウの中で検索されるべきテキスト内容を、右スライドバー上の検索モジュールにドラッグ操作によってドラッグし、結果としてチャットウィンドウの右スライドバーを最大限まで利用して、ユーザの検索操作を容易にすることができる。以下、インスタントメッセンジャの便利検索方法を成功裏に実施することを保証するための技術的特徴を詳細に示す。1を超えるドラッグ選択状態が同時に開始された場合多くの論理矛盾が発生するので、本発明の実施形態では、現在の処理の中で同時に1つだけのドラッグ選択状態が存在する。具体的に言うと、複数のドラッグ選択状態を開始する問題は、再入予防保全によって回避することができる。インスタントメッセンジャは、現在のチャットウィンドウのクローズイベントをモニタし、クローズイベントを検出した後、便利検索を実行するためのモジュールをクローズする。便利検索状態は現在のチャットウィンドウと関連があるので、チャットウィンドウがクローズされると便利検索状態を終了する必要があり、したがって、インスタントメッセンジャは現在のチャットウィンドウのクローズイベントをモニタする必要がある。インスタントメッセンジャが便利検索機能を開始した後、マウスの通常パターンはあらかじめ定義された検索パターンに変更される。すなわち、現在のチャットウィンドウが便利検索状態にあることをユーザに知らせるために、マウスのパターンは変更される必要がある。具体的に言うと、マウスのパターンは特定のAPIインタフェースによって、ドラッグ選択状態における専用の検索パターンに変更することができる。ユーザがドラッグ選択操作を実行するのを助けるために、インスタントメッセンジャは、マウスの右下隅に、マウスの動きに追従するフローティングツールチップを描写することができ、ドラッグ選択操作の簡単な説明がフローティングツールチップ上に表示される。メッセージポンプを開始することによって、インスタントメッセンジャは、現在の操作フォーカスが便利検索を実行するためのモジュール上にあるか否かを問わず、現在の処理のマウスおよびキーボードのすべてのメッセージをモニタし、したがって、ウィンドウ間の操作フォーカスの切り替えによって便利検索処理を実行することができないという結果にはならない。ドラッグ選択状態が終了した後、すなわち、インスタントメッセンジャがテキストの選択を終了するコマンドを検出した後、インスタントメッセンジャは、フローティングツールチップをクローズし、マウスのパターンを通常パターンに変更することができる。テキストの選択を終了するコマンドを検出した後、インスタントメッセンジャはユーザによって選択されたテキスト内容を抽出し、テキスト内容を右スライドバー上の検索モジュールにコピーし、検索モジュールはテキスト内容を受けた後、テキスト内容をキーワードとして受け取ることによって検索を実行する。インスタントメッセンジャがテキストの選択を終了するコマンドを検出すると、インスタントメッセンジャが検索モジュールを開始していない場合インスタントメッセンジャは検索モジュールを開始し、検索モジュールが開始されていた場合、インスタントメッセンジャは、ユーザによって選択されたテキスト内容を、検索するために検索モジュールに送る。本発明の実施形態において言及したメッセージポンプは重要なモジュールの1つである。便利検索状態では、メッセージポンプは各システムメッセージをフィルタにかけ、便利検索機能に関係しないメッセージを、配信するために主要スレッドメッセージポンプに戻す。便利検索機能に関係するメッセージは、最初に専用メッセージポンプによって処理され、次いで、現在の処理に戻されるべきかどうかを判定する。一般に、便利検索状態から離れるメッセージは現在の処理に戻すことができず、便利検索機能に関係する他のメッセージは現在の処理に戻す必要がある。前記のことは、好ましい本発明の実施形態にすぎず、本発明の保護範囲を限定するためには使用されない。本発明の原理から逸脱しない、いかなる修正、均等物との置換、および改良も本発明の保護範囲内である。