<Return[PQ]><Top>

PeekMessage

Declare Function Api_PeekMessage& Lib "user32" Alias "PeekMessageA" (lpMsg As Msg, ByVal hWnd&, ByVal wMsgFilterMin&, ByVal wMsgFilterMax&, ByVal wRemoveMsg&)

Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" (lpMsg As MSG, ByVal hwnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long, ByVal wRemoveMsg As Long) As Long

着信した送信済みメッセージをディスパッチ(送出)し、スレッドのメッセージキューにポスト済みメッセージが存在するかどうかをチェックし、存在する場合は、指定された構造体にそのメッセージを格納する。

パラメータ
lpMsg
    1 個の MSG 構造体へのポインタを指定する。関数から制御が返ると、この構造体に、メッセージ情報が格納される。
hWnd
    メッセージの取得に使う(取得元)ウィンドウのハンドルを指定する。
wMsgFilterMin
    取得対象のメッセージの最小値を整数で指定する。
wMsgFilterMax
    取得対象のメッセージの最大値を整数で指定する。
wRemoveMsg
    メッセージの処理方法を指定する。次の値のいずれかを指定する。

    値                             

意味                                                                                                                                           

    PM_NOREMOVE

PeekMessage 関数がメッセージを処理した後、そのメッセージをキューから削除しない。

    PM_REMOVE

PeekMessage 関数がメッセージを処理した後、そのメッセージをキューから削除する。

    オプションで、PM_NOYIELD フラグを、PM_NOREMOVE と PM_REMOVE のどちらかのフラグに組み合わせて使うこともできる。

    PM_NOYIELD フラグを指定すると、呼び出し側がアイドル状態になるのを待っているスレッドが存在する場合、システムがそのスレッドを解

    放することを防止できる。
    既定では、PeekMessage 関数はすべてのメッセージタイプを処理する。

    特定のメッセージタイプだけを処理するよう指定するには、次の値のいずれかまたは任意の組み合わせを指定する。

    値                                       

意味                                                                                                                               

    PM_QS_INPUT

Windows 98 と Windows 2000:マウスメッセージとキーボードメッセージを処理する。

    PM_QS_PAINT

Windows 98 と Windows 2000:ペイントメッセージを処理する。

    PM_QS_POSTMESSAGE

Windows 98 と Windows 2000:タイマとホットキーを含め、すべてのポスト済みメッセージを処理する。

    PM_QS_SENDMESSAGE

Windows 98 と Windows 2000:すべての送信済みメッセージを処理する。


戻り値
    メッセージを取得した場合、0 以外の値が返る。
    メッセージを取得しなかった場合、0 が返る。