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フックの種類とフック プロシージャへのポインターを指定してフック プロシージャをインストールします。/