フック

フックは、アプリケーションがサブルーチンをインストールしてシステム内のメッセージ・トラフィックをモニターし、特定のタイプのメッセージを処理してからターゲット・ウィンドウ・プロシージャーに到達できるシステム・メッセージ処理メカニズムのポイントです。

このセクションの内容

名前 説明
フックの概要 フックの使用方法について説明します。
フックの使用 フックに関連付けられているタスクを実行する方法を示します。
フックリファレンス API リファレンスを収録しています。

フック関数

名前 説明
CallMsgFilter 指定したメッセージとフック コードを、 WH_SYSMSGFILTERおよびWH_MSGFILTER フック プロシージャに関連付けられているフック プロシージャ 渡します。
CallNextHookEx フック情報を現在のフック チェーンの次のフック プロシージャに渡します。 フック プロシージャは、フック情報の処理の前または後に、この関数を呼び出すことができます。
CallWndProc SetWindowsHookEx 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 システムは、スレッドに送信されたメッセージを処理するウィンドウ プロシージャを呼び出す前に、この関数を呼び出します。
CallWndRetProc SetWindowsHookEx 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 SendMessage 関数が呼び出された後、システムはこの関数を呼び出します。 フック プロシージャはメッセージを調べることができます。変更できません。
CBTProc SetWindowsHookEx 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 システムは、ウィンドウをアクティブ化、作成、破棄、最小化、最大化、移動、またはサイズ変更する前に、この関数を呼び出します。システム コマンドを完了する前に。システム メッセージ キューからマウスまたはキーボード イベントを削除する前に。キーボードフォーカスを設定する前に;または をシステム メッセージ キューと同期する前に行います。 コンピューター ベースのトレーニング (CBT) アプリケーションでは、このフック プロシージャを使用して、システムから有用な通知を受け取ります。
DebugProc SetWindowsHookEx 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 システムは、任意の種類のフックに関連付けられているフック プロシージャを呼び出す前に、この関数を呼び出します。 システムは、呼び出されるフックに関する情報を DebugProc フック プロシージャに渡します。これにより、情報が調べられ、フックの呼び出しを許可するかどうかを決定します。
ForegroundIdleProc SetWindowsHookEx 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 フォアグラウンド スレッドがアイドル状態になるたびに、システムはこの関数を呼び出します。
GetMsgProc SetWindowsHookEx 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 システムは、GetMessage または PeekMessage 関数がアプリケーション メッセージ キューからメッセージを取得するたびに、この関数を呼び出します。 取得したメッセージを呼び出し元に返す前に、システムはメッセージをフック・プロシージャーに渡します。
JournalPlaybackProc SetWindowsHookEx 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 通常、アプリケーションはこの関数を使用して、 JournalRecordProc フック プロシージャによって以前に記録された一連のマウス メッセージとキーボード メッセージを再生します。 JournalPlaybackProc フック プロシージャがインストールされている限り、通常のマウスとキーボードの入力は無効になります。
JournalRecordProc SetWindowsHookEx 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 この関数は、システムがシステム・メッセージ待ち行列から除去したメッセージを記録します。 後で、アプリケーションで JournalPlaybackProc フック プロシージャを使用してメッセージを再生できます。
KeyboardProc SetWindowsHookEx 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 アプリケーションが GetMessage 関数または PeekMessage 関数を呼び出し、処理するキーボード メッセージ (WM_KEYUP または WM_KEYDOWN) がある場合は常に、この関数が呼び出されます。
LowLevelKeyboardProc SetWindowsHookEx 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 システムは、新しいキーボード入力イベントがスレッド入力キューにポストされようとするたびに、この関数を呼び出します。
LowLevelMouseProc SetWindowsHookEx 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 システムは、新しいマウス入力イベントがスレッド入力キューにポストされようとするたびに、この関数を呼び出します。
MessageProc SetWindowsHookEx 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 システムは、ダイアログ ボックス、メッセージ ボックス、メニュー、またはスクロール バーで入力イベントが発生した後、入力イベントによって生成されたメッセージが処理される前に、この関数を呼び出します。 フック プロシージャは、特定のアプリケーションまたはすべてのアプリケーションによって作成されたダイアログ ボックス、メッセージ ボックス、メニュー、またはスクロール バーのメッセージを監視できます。
MouseProc SetWindowsHookEx 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 アプリケーションが GetMessage または PeekMessage 関数を呼び出し、処理するマウス メッセージがある場合は常に、この関数が呼び出されます。
SetWindowsHookEx アプリケーション定義のフック プロシージャをフック チェーンにインストールします。 フック プロシージャをインストールして、システムで特定の種類のイベントを監視します。 これらのイベントは、特定のスレッドまたは呼び出し元スレッドと同じデスクトップ内のすべてのスレッドに関連付けられます。
ShellProc SetWindowsHookEx 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 関数は、システムからシェル イベントの通知を受け取ります。
SysMsgProc SetWindowsHookEx 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 システムは、ダイアログ ボックス、メッセージ ボックス、メニュー、またはスクロール バーで入力イベントが発生した後、入力イベントによって生成されたメッセージが処理される前に、この関数を呼び出します。 この関数は、システム内の任意のダイアログ ボックス、メッセージ ボックス、メニュー、またはスクロール バーのメッセージを監視できます。
UnhookWindowsHookEx SetWindowsHookEx 関数によってフック チェーンにインストールされているフック プロシージャを削除します。

フック通知

名前 説明
WM_CANCELJOURNAL ユーザーがアプリケーションのジャーナリング アクティビティを取り消したときにアプリケーションに投稿されます。 メッセージは NULL ウィンドウ ハンドルを使用して投稿されます。
WM_QUEUESYNC CBT アプリケーションによって、WH_JOURNALPLAYBACK プロシージャを介して送信された他のメッセージからユーザー入力メッセージを分離するために送信されます。

フック構造

名前 説明
CBT_CREATEWND ウィンドウが作成される前に 、WH_CBT フック プロシージャ CBTProc に渡される情報が含まれます。
CBTACTIVATESTRUCT ウィンドウがアクティブになる前に 、WH_CBT フック プロシージャ CBTProc に渡される情報が含まれます。
CWPRETSTRUCT WH_CALLWNDPROCRETフック プロシージャ CallWndRetProc に渡されるメッセージ パラメーターを定義します。
CWPSTRUCT WH_CALLWNDPROCフック プロシージャ CallWndProc に渡されるメッセージ パラメーターを定義します。
DEBUGHOOKINFO WH_DEBUG フック プロシージャ DebugProc に渡されるデバッグ情報が含まれます。
EVENTMSG システム メッセージ キューに送信されるハードウェア メッセージに関する情報が含まれます。 この構造体は、 JournalPlaybackProc コールバック関数のメッセージ情報を格納するために使用されます。
KBDLLHOOKSTRUCT 低レベルのキーボード入力イベントに関する情報が含まれます。
MOUSEHOOKSTRUCT WH_MOUSE フック プロシージャ MouseProc に渡されるマウス イベントに関する情報が含まれます。
MOUSEHOOKSTRUCTEX WH_MOUSE フック プロシージャ MouseProc に渡されるマウス イベントに関する情報が含まれます。
MSLLHOOKSTRUCT 低レベルのマウス入力イベントに関する情報が含まれます。

SetWinEventHook