Windowsにおけるウィンドウ メッセージの一つ。メニューや、ウィンドウに関する通知メッセージの送受信で用いられる。
UINT型の定数であり、WinUser.hで、以下のように定義される。
#define WM_SYSCOMMAND 0x0112
Win32/Win64の場合
- HWND ‐ ウィンドウハンドル
- UINT ‐ 0x0112 (WM_SYSCOMMAND)
- WPARAM
- WPARAM(HIGH) ‐ ?
- WPARAM(LOW) ‐ システムコマンドの種類 (詳細後述)
- LPARAM
- LPARAM(HIGH) ‐ カーソルの垂直位置(マウスで選択された場合のみ)
- LPARAM(LOW) ‐ カーソルの水平位置(マウスで選択された場合のみ)
メニューに関する制御が発生した場合に、イベントが通知される。
またアプリケーション内で、SendMessage()を用いて送信することもできる。
システムコマンドの種類はLOWORD(WPARAM)だが、更に下位4ビットも削ったほうが良いらしい。
uCmdType = wParam & 0xFFF0;
LPARAMは、イベントの種類によってはカーソル位置以外が格納されることもある。
- 0xF060 SC_CLOSE ‐ ウィンドウを閉じる
- 0xF180 SC_CONTEXTHELP ‐ ポインター(カーソル)を疑問符にする
- 0xF160 SC_DEFAULT ‐ デフォルトのアイテムを選択
- 0xF150 SC_HOTKEY ‐ ホットキーに対応するウィンドウをアクティブにする
- 0xF080 SC_HSCROLL ‐ 水平スクロール
- 0xF100 SC_KEYMENU ‐ キー操作でのウィンドウメニュー取得
- 0xF030 SC_MAXIMIZE ‐ ウィンドウを最大化
- 0xF020 SC_MINIMIZE ‐ ウィンドウを最小化
- 0xF170 SC_MONITORPOWER ‐ ディスプレイの電源状態を設定
- 0xF090 SC_MOUSEMENU ‐ マウスクリック操作でのウィンドウメニュー取得
- 0xF010 SC_MOVE ‐ ウィンドウを移動
- 0xF040 SC_NEXTWINDOW ‐ 次のウィンドウに移行
- 0xF050 SC_PREVWINDOW ‐ 前のウィンドウに移行
- 0xF120 SC_RESTORE ‐ ウィンドウを元の位置とサイズに戻す
- 0xF140 SC_SCREENSAVE ‐ スクリーンセーバーを起動
- 0xF000 SC_SIZE ‐ ウィンドウの大きさを設定
- 0xF130 SC_TASKLIST ‐ スタートメニューを表示
- 0xF070 SC_VSCROLL ‐ 垂直スクロール
用語の所属
Microsoft Windows
ウィンドウ メッセージ
関連する用語
WM_COMMAND
WM_DESTROY