次の方法で共有


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

要件

要件
サポートされている最小のクライアント 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で導入)

関連項目

概念

フック

Msg

MessageProc

リファレンス

SetWindowsHookEx

SysMsgProc