次の方法で共有


GetMsgProc 関数

Description

SetWindowsHookExA/SetWindowsHookExW 関数で使用されるアプリケーション定義またはライブラリ定義コールバック関数。 GetMessage または PeekMessageA/PeekMessageW 関数がアプリケーション メッセージ キューからメッセージを取得するたびに、この関数が呼び出されます。 取得したメッセージを呼び出し元に返す前に、システムはメッセージをフック・プロシージャーに渡します。

HOOKPROC 型は、このコールバック関数へのポインターを定義します。 GetMsgProc は、アプリケーション定義またはライブラリ定義関数名のプレースホルダーです。

LRESULT CALLBACK GetMsgProc(
  _In_ int    code,
  _In_ WPARAM wParam,
  _In_ LPARAM lParam
);

パラメーター

code [in]

型: int

フック・プロシージャーがメッセージを処理する必要があるかどうかを指定します。 コードHC_ACTION場合、フック プロシージャはメッセージを処理する必要があります。 コードが 0 未満の場合、フック プロシージャは、それ以上処理せずに CallNextHookEx 関数にメッセージを渡す必要があり、CallNextHookEx によって返される値を返す必要があります。

wParam [in]

型: WPARAM

メッセージがキューから削除されたかどうかを指定します。 このパラメーターには、次のいずれかの値を指定できます。

価値 説明
PM_NOREMOVE 0x0000 メッセージはキューから削除されていません。 ( PeekMessage 関数を呼び出し、 PM_NOREMOVE フラグを指定するアプリケーション)。
PM_REMOVE 0x0001 メッセージがキューから削除されました。 ( GetMessage というアプリケーション、または peekMessage 関数を呼び出し、 PM_REMOVE フラグを指定します)。

lParam [in]

型: LPARAM

メッセージに関する詳細を含む MSG 構造体へのポインター。

返品ポリシー

コードが 0 未満の場合、フック プロシージャは CallNextHookEx によって返される値を返す必要があります。

コードが 0 以上の場合は、CallNextHookEx を呼び出し、返される値を返すように強くお勧めします。それ以外の場合、WH_GETMESSAGEフックがインストールされている他のアプリケーションはフック通知を受け取らず、結果として正しく動作しない可能性があります。 フック プロシージャが CallNextHookEx を呼び出さない場合、戻り値は 0 にする必要があります。

注釈

GetMsgProc フック プロシージャは、メッセージを調べたり変更したりできます。

フック プロシージャがコントロールをシステムに返した後、 GetMessage または PeekMessageA/PeekMessageW 関数は、メッセージを最初に呼び出したアプリケーションに変更と共に返します。

アプリケーションは、setWindowsHookExA/SetWindowsHookExW 関数の呼び出しで、WH_GETMESSAGEフックの種類とフック プロシージャへのポインターを指定して、このフック プロシージャインストールします。

こちらも参照ください

CallNextHookEx

GetMessage

MSG

PeekMessage

SetWindowsHookEx

フック