CallMsgFilterA 関数 (winuser.h)
指定したメッセージとフック コードを、 WH_SYSMSGFILTERおよびWH_MSGFILTER フックに関連付けられているフック プロシージャに渡します。 WH_SYSMSGFILTERまたはWH_MSGFILTERフック プロシージャは、ダイアログ ボックス、メッセージ ボックス、メニュー、またはスクロール バーのメッセージを調べ、必要に応じて変更する、アプリケーション定義のコールバック関数です。
構文
BOOL CallMsgFilterA(
[in] LPMSG lpMsg,
[in] int nCode
);
パラメーター
[in] lpMsg
種類: LPMSG
フック プロシージャに渡されるメッセージを含む MSG 構造体へのポインター。
[in] nCode
型: int
メッセージの処理方法を決定するためにフック プロシージャによって使用されるアプリケーション定義コード。 このコードには、WH_SYSMSGFILTERおよびWH_MSGFILTERフックに関連付けられているシステム定義のフック コード ( MSGF_およびHC_ ) と同じ値 を 持つ必要があります。
戻り値
種類: BOOL
アプリケーションでメッセージをさらに処理する必要がある場合、戻り値は 0 です。
アプリケーションがメッセージをさらに処理しない場合、戻り値は 0 以外です。
解説
システムは CallMsgFilter を呼び出して、ダイアログ ボックス、メッセージ ボックス、メニュー、スクロール バーの内部処理中、またはユーザーが Alt + TAB キーの組み合わせを押して別のウィンドウをアクティブ化するときに、アプリケーションがメッセージのフローを調べて制御できるようにします。
SetWindowsHookEx 関数を使用して、このフック プロシージャをインストールします。
例
例については、「 WH_MSGFILTERフックとWH_SYSMSGFILTERフック」を参照してください。
注意
winuser.h ヘッダーは、CallMsgFilter をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
API セット | ext-ms-win-ntuser-message-l1-1-0 (Windows 8 で導入) |
関連項目
概念
参照