次の方法で共有


CallWndProc コールバック関数

SetWindowsHookExA SetWindowsHookExW関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。/ システムは、スレッドに送信されたメッセージを処理するウィンドウ プロシージャを呼び出す前に、この関数を呼び出します。

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

構文

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

パラメーター

  • nCode [in]
    型: int

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

  • wParam [in]
    型: WPARAM

    メッセージが現在のスレッドによって送信されたかどうかを指定します。 メッセージが現在のスレッドによって送信された場合、0 以外の値になります。それ以外の場合は 0 です。

  • lParam [in]
    型: LPARAM

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

戻り値

型:****

型: LRESULT

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

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

注釈

CallWndProc フック プロシージャはメッセージを調べることができますが、変更することはできません。 フック・プロシージャーが制御をシステムに戻すと、メッセージはウィンドウ・プロシージャーに渡されます。

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

要件

サポートされている最小のクライアント

Windows 2000 Professional [デスクトップ アプリのみ]

サポートされている最小のサーバー

Windows 2000 Server [デスクトップ アプリのみ]

ヘッダー

Winuser.h (Windows.h を含む)

関連項目

CallNextHookEx

CWPSTRUCT

SendMessage

SetWindowsHookExA/SetWindowsHookExW

フック