次の方法で共有


CallMsgFilterW 関数 (winuser.h)

指定されたメッセージとフック コードを、WH_SYSMSGFILTER およびWH_MSGFILTERフックに関連付けられたフック プロシージャに渡します。 WH_SYSMSGFILTER または WH_MSGFILTER フック プロシージャは、ダイアログ ボックス、メッセージ ボックス、メニュー、またはスクロール バーのメッセージを調べ、必要に応じて変更する、アプリケーション定義のコールバック関数です。

構文

BOOL CallMsgFilterW(
  [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 ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして CallMsgFilter を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winuser.h (Windows.h を含む)
ライブラリ User32.lib
DLL User32.dll
API セットの ext-ms-win-ntuser-message-l1-1-0 (Windows 8 で導入)

関連項目

概念

フック

MSG

MessageProc

リファレンス

SetWindowsHookEx の

SysMsgProc の