Win32API: PeekMessage

呼び出し側スレッドのメッセージ キューから、メッセージを取得します。


定義
Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" _
   (ByRef lpMsg As MSG, _
          hWnd As HWND, _
          wMsgFilterMin As DWord, _
          wMsgFilterMax As DWord, _
          wRemoveMsg As DWord) As Long
lpMsg (ポインタ参照)
MSG構造体へのポインタを指定します。この構造体に取得したメッセージに関する情報が格納されます。

hWnd
メッセージを取得するウィンドウのハンドルを指定します。スレッドに属するすべてのウィンドウに対するメッセージを取得する場合には、このパラメータは NULL にしておきます。

wMsgFilterMin
取得するメッセージの範囲の最小値を指定します。wMsgFilterMin、wMsgFilterMax パラメータの両方を 0 にすると、メッセージのフィルタリングは行われません。

wMsgFilterMax
取得するメッセージの範囲の最大値を指定します。

wRemoveMsg
取得したメッセージを、メッセージ キューから削除するかを、以下の定数で指定します。
定数説明
PM_NOREMOVEメッセージ キューから削除しません。
PM_REMOVEメッセージ キューから削除します。

戻り値

メッセージを取得したときは、TRUE が返ります。
メッセージを取得できなかったときは、FALSE が返ります。

解説

GetMessage関数とは異なり、メッセージがメッセージ キュー内に存在しないときでも、関数は待機をせずに終了します。

環境情報

インクルード ファイル: api_window.sbp 内で定義済み
DLLファイル: user32.dll


MSG構造体GetMessage関数