次の方法で共有


フック

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

このセクションでは

名前 形容
フックの概要 フックの使用方法について説明します。
フック を使用する フックに関連付けられているタスクを実行する方法を示します。
フック参照 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 WH_JOURNALPLAYBACK プロシージャを通じて送信された他のメッセージからユーザー入力メッセージを分離するために CBT アプリケーションによって送信されます。

フック構造

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

SetWinEventHook