プラットフォーム SDK
CallNextHookEx
ここに掲載されている内容は、コンテンツ提供時の情報で、以前は有効であったリンクやURLが現在無効になっている場合や、技術情報が最新の情報と異なる場合がありますのでご了承ください。
最新の情報については、Platform SDK: Interprocess Communications (英語)または、http://msdn.microsoft.com/library/en-us/ipc/base/interprocess_communications.asp
をご覧ください。現在のフックチェーン内の次のフックプロシージャに、フック情報を渡します。フックプロシージャは、フック情報を処理する前でも、フック情報を処理した後でも、この関数を呼び出せます。
LRESULT CallNextHookEx(
HHOOK hhk, // 現在のフックのハンドル
int nCode, // フックプロシージャに渡すフックコード
WPARAM wParam, // フックプロシージャに渡す値
LPARAM lParam // フックプロシージャに渡す値
);
パラメータ
- hhk
- 現在のフックのハンドルを指定します。アプリケーションは、SetWindowsHookEx 関数を呼び出した際に取得したハンドルを指定します。
- nCode
- 現在のフックプロシージャに渡されたフックコードを指定します。次のフックプロシージャはこのフックコードを使って、フック情報の処理方法を決定します。
- wParam
- 現在のフックプロシージャに渡された wParam 値を指定します。このパラメータの意味は、現在のフックチェーンに関連付けられているフックタイプに依存します。
- lParam
- 現在のフックプロシージャに渡された lParam 値を指定します。このパラメータの意味は、現在のフックチェーンに関連付けられているフックタイプに依存します。
戻り値
フックチェーン内の次のフックプロシージャの戻り値が返ります。現在のフックプロシージャは、この値をそのまま戻り値として返さなければなりません。この値の意味は、フックの種類に依存します。詳細については、各フックプロシージャの説明を参照してください。
解説
各フックプロシージャは、特定のフックタイプに関連するフックチェーンの中にインストールされます。CallNextHookEx 関数は、フックチェーン内の次のフックプロシージャを呼び出します。
CallNextHookEx 関数を呼び出すかどうかは自由ですが、呼び出すことを強く推奨します。呼び出さない場合、フックをインストールしたほかのアプリケーションがフックの通知を受け取れず、誤動作する可能性があります。このような通知をほかのアプリケーションに絶対に知らせたくないと考える非常に強い理由がある場合を除き、通常は CallNextHookEx 関数を呼び出すべきです。
対応情報
Windows NT/2000:Windows NT 3.1 以降
Windows 95/98:Windows 95 以降
ヘッダー:Winuser.h 内で宣言、Windows.h をインクルード
インポートライブラリ:User32.lib を使用
参照
SetWindowsHookEx, UnhookWindowsHookEx