次の方法で共有


SysMsgProc 関数

説明

SetWindowsHookExA/SetWindowsHookExW 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 システムは、入力イベントがダイアログ ボックス、メッセージ ボックス、メニュー、またはスクロール バーで発生した後、入力イベントによって生成されたメッセージが処理される前に、この関数を呼び出します。 この関数は、システム内の任意のダイアログ ボックス、メッセージ ボックス、メニュー、またはスクロール バーのメッセージを監視できます。

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

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

パラメーター

nCode [in]

型: int

メッセージを生成した入力イベントの種類。

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

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

説明
MSGF_DIALOGBOX 0 入力イベントがメッセージ ボックスまたはダイアログ ボックスで発生しました。
MSGF_MENU 2 入力イベントがメニューで発生しました。
MSGF_SCROLLBAR 5 入力イベントがスクロール バーで発生しました。

wParam

型: WPARAM

このパラメーターは使用されません。

lParam [in]

型: LPARAM

MSG メッセージ構造へのポインター。

戻り値

型: LRESULT

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

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

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

注釈

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

関連項目

CallNextHookEx

Msg

SetWindowsHookEx

フック