<Return[C]><Top>

CallMsgFilter

Declare Function Api_CallMsgFilter& Lib "user32" Alias "CallMsgFilterA" (lpMsg As msg, ByVal ncode&)

Declare Function CallMsgFilter Lib "user32" Alias "CallMsgFilterA" (lpMsg As msg, ByVal ncode As Long) As Long

各フックプロシージャに、指定されたメッセージとフックコードを渡します。WH_SYSMSGFILTER と WH_MSGFILTER の各フックプロシージャは、アプリケーション定義のコールバック関数であり、ダイアログボックス、メッセージボックス、メニュー、スクロールバーの各メッセージを調べたり修正するために使われる。

パラメータ
lpMsg
    フックプロシージャに渡すメッセージを保持している、1 個の msg 構造体へのポインタを指定する。
nCode
    アプリケーション定義のフックコードを指定する。フックプロシージャはこのフックコードを使って、メッセージの処理方法を決定する。このフックコ

    ードには、WH_SYSMSGFILTER と WH_MSGFILTER の各フックに関連付けられているシステム定義フックコード(MSGF_ と HC_)と同じ

    値を指定しない。

戻り値
    アプリケーションがさらにメッセージを処理しなければならない場合、0 が返る。
    アプリケーションがこれ以上メッセージを処理する必要がない場合、0 以外の値が返る。

解説
    アプリケーションがダイアログボックス、メッセージボックス、メニュー、スクロールバーいずれかの内部処理を行う際、またはユーザーが

    Alt+Tab キーを押して他のウィンドウをアクティブ化した際に、メッセージフローの検討と制御を行えるように、システムが CallMsgFilter 関数

    を呼び出す。
    このフックプロシージャをインストールするには、SetWindowsHookEx 関数を使う。