呼び出し元スレッドのメッセージキューからメッセージを取得する。取得可能な投稿メッセージが得られるまで、着信送信メッセージを配送する。(GetMessageW)
GetMessageW lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax
lpMsg : [var] 型: LPMSG スレッドのメッセージキューからメッセージ情報を受け取る MSG 構造体へのポインタ。 hWnd : [intptr] 型: HWND メッセージを取得するウィンドウへのハンドル。ウィンドウは現在のスレッドに属している必要がある。 wMsgFilterMin : [int] 型: UINT 取得するメッセージ値の最小値。最初のキーボードメッセージを指定するには WM_KEYFIRST (0x0100)、最初のマウスメッセージを指定するには WM_MOUSEFIRST (0x0200) を使う。WM_INPUT メッセージのみを指定するには wMsgFilterMin と wMsgFilterMax の両方に WM_INPUT を指定する。wMsgFilterMin と wMsgFilterMax がともに 0 の場合、GetMessage は範囲フィルタリングを行わずすべてのメッセージを返す。 wMsgFilterMax : [int] 型: UINT 取得するメッセージ値の最大値。最後のキーボードメッセージを指定するには WM_KEYLAST、最後のマウスメッセージを指定するには WM_MOUSELAST を使う。
(プラグイン / モジュール : user32.dll)
呼び出し元スレッドのメッセージキューからメッセージを取得する。取得可能な投稿メッセージが得られるまで、着信送信メッセージを配送する。(GetMessageW) [戻り値] 型: BOOL 関数が WM_QUIT 以外のメッセージを取得した場合、戻り値は 0 以外。WM_QUIT を取得した場合は 0。エラーの場合は -1。たとえば hWnd が無効なウィンドウハンドル、または lpMsg が無効なポインタの場合に失敗する。拡張エラー情報を得るには GetLastError を呼び出す。戻り値が 0 以外、0、-1 のいずれにもなりうるため、次のようなコードは避けること: (以下省略) [備考] アプリケーションは通常、戻り値を使ってメインメッセージループを終了しプログラムを抜けるかどうかを判断する。GetMessage は hWnd パラメータで指定されたウィンドウ(および IsChild で判定されるその子)に関連付けられたメッセージのうち、wMsgFilterMin と wMsgFilterMax の範囲内のものを取得する。これらのパラメータで使用できるのは下位ワードのみで、上位ワードはシステム予約である。wMsgFilterMin と wMsgFilterMax に何を指定しても GetMessage は常に WM_QUIT メッセージを取得する点に注意。この呼び出し中、システムは保留中のノンキューメッセージ(SendMessage、SendMessageCallback、SendMessageTimeout、SendNotifyMessage により呼び出し元スレッド所有のウィンドウに送信されたメッセージ)を配送する。その後、指定フィルタに一致する最初のキューメッセージが取得される。システムは内部イベントも処理する場合がある。フィルタが指定されていない場合、メッセージは次の順で処理される: (以下省略)
| プラグイン / モジュール | user32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の user32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_user32_gen2.hs |