次の方法で共有


MouseProc 関数

説明

SetWindowsHookExA SetWindowsHookExW関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。/ アプリケーションが GetMessage または PeekMessageA/PeekMessageW 関数を呼び出し、処理するマウス メッセージがある場合は常に、この関数が呼び出されます。

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

LRESULT CALLBACK MouseProc(
  _In_ int    nCode,
  _In_ WPARAM wParam,
  _In_ LPARAM lParam
);

パラメーター

nCode [in]

型: int

フック プロシージャがメッセージの処理方法を決定するために使用するコード。

nCode が 0 未満の場合、フック プロシージャは、それ以上の処理を行わずに CallNextHookEx 関数にメッセージを渡す必要があり、CallNextHookEx によって返される値を返す必要があります。

このパラメーターには、次の値のいずれかを指定できます。

説明
HC_ACTION 0 wParam パラメーターと lParam パラメーターには、マウス メッセージに関する情報が含まれています。
HC_NOREMOVE 3 wParam パラメーターと lParam パラメーターにはマウス メッセージに関する情報が含まれており、マウス メッセージはメッセージ キューから削除されていません。 ( PeekMessage 関数を呼び出し、 PM_NOREMOVE フラグを指定するアプリケーション)。

wParam [in]

型: WPARAM

マウス メッセージの識別子。

lParam [in]

型: LPARAM

MOUSEHOOKSTRUCT 構造体へのポインター。

戻り値

型: LRESULT

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

nCode が 0 以上で、フック プロシージャがメッセージを処理しなかった場合は、CallNextHookEx を呼び出し、返される値を返すよう強くお勧めします。そうしないと、WH_MOUSEフックがインストールされている他のアプリケーションはフック通知を受け取らず、その結果として正しく動作しない可能性があります。

フック プロシージャがメッセージを処理した場合、システムがメッセージをターゲット ウィンドウ プロシージャに渡さないように、0 以外の値を返す可能性があります。

注釈

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

フック プロシージャは 、WH_JOURNALPLAYBACK コールバック関数をインストールしないでください。

このフックは、インストールしたスレッドのコンテキストで呼び出される場合があります。 呼び出しは、フックをインストールしたスレッドにメッセージを送信することによって行われます。 したがって、フックをインストールしたスレッドにはメッセージ ループが必要です。

関連項目

CallNextHookEx

GetMessage

MOUSEHOOKSTRUCT

PeekMessage

SetWindowsHookEx

フック

フックについて