GetSystemMenu

アプリケーションがウィンドウメニュー(システムメニュー、コントロールメニューとも呼ばれる)にアクセスして、コピーや変更を行えるようにする。

GetSystemMenu hWnd, bRevert

hWnd : [intptr] 型: HWND ウィンドウメニューのコピーを所有するウィンドウへのハンドル。
bRevert : [int] 型: BOOL 実行するアクション。FALSE の場合、GetSystemMenu は現在使用中のウィンドウメニューのコピーへのハンドルを返す。このコピーは最初はウィンドウメニューと同一だが、変更することができる。TRUE の場合、ウィンドウメニューを既定状態にリセットする。既存のウィンドウメニュー(あれば)は破棄される。

(プラグイン / モジュール : user32.dll)

解説

アプリケーションがウィンドウメニュー(システムメニュー、コントロールメニューとも呼ばれる)にアクセスして、コピーや変更を行えるようにする。

[戻り値]
型: HMENU bRevert が FALSE の場合、戻り値はウィンドウメニューのコピーへのハンドルである。bRevert が
TRUE の場合、戻り値は NULL である。

[備考]
GetSystemMenu
を使ってウィンドウメニューのコピーを作成しないウィンドウは、標準のウィンドウメニューを受け取る。ウィンドウメニューには最初、SC_CLOSE,
SC_MOVE, SC_SIZE などの識別子を持つ項目が含まれる。ウィンドウメニューの項目は WM_SYSCOMMAND
メッセージを送る。定義済みのウィンドウメニュー項目の識別子はすべて 0xF000
より大きい。アプリケーションがウィンドウメニューにコマンドを追加するときは 0xF000
より小さい識別子を使うべきである。システムは状況に応じて標準ウィンドウメニュー項目を自動的にグレーアウトする。アプリケーションはメニュー表示前に送られる
WM_INITMENU メッセージに応答することで独自のチェックやグレーアウトを行える。

情報

プラグイン / モジュールuser32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の user32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_user32_gen2.hs