"システムレベル"でウィンドウフックがどのように機能するかわかりません。 MSDNは非常に簡単に何が起こっているのか触れる:ウィンドウフック - どのように機能するのですか?
フックが アプリケーションが でシステムをメッセージトラフィックを監視するためのサブルーチンをインストールして、特定の種類のメッセージを処理することができ、システムのメッセージ処理機構ではポイントですそれらが ターゲットウィンドウプロシージャに到達する前に各メッセージは、ウィンドウのメッセージキューに追加される前に、それは最初にローカル/グローバルフックにメッセージをお送りします
、:
私の最高の推測では、以下のようなものです彼らのフックの手順に応じて、何かをする可能性があります。すべてのグローバルフックとローカルフックの後、メッセージは最終的にウィンドウメッセージキューに追加されます。
しかし、MSDNは、フックの種類のいくつかのために、それが監視することを言いますevents
、notifications
など
例はWH_MOUSE_LL
フックです:
が低監視フックプロシージャをインストールします。レベルマウス 入力イベント。詳細については、LowLevelMouseProcフック プロシージャを参照してください。
events
と言うと、私たちはウィンドウメッセージを出しているのですか、それとも何か他の意味ですか?
私は間違っていますか?
フリーハンド図の画像のボーナススタイルポイント。 – rkb
ここに少し説明がありますhttp://b.1asphost.com/mmbaig/Tutorials/Windows_Hooks.html –
多くのフックはメッセージベースです。しかし、あなたが話しているフックではなく、実際には "イベント"によって引き起こされます。 * Windowsはメッセージを作成し、それをフォーカスのあるウィンドウのメッセージキューに入れます。アプリケーションがGet/PeekMessageを呼び出し、メッセージキューからマウスメッセージを取得しようとしているときに実行されるグローバルフックWH_MOUSEと比較してください。したがって、メッセージによって実際にトリガーされます。 –