GetMenuItemInfoW

メニュー項目に関する情報を取得する。(Unicode)

GetMenuItemInfoW hmenu, item, fByPosition, lpmii

hmenu : [intptr] 型: HMENU メニュー項目を含むメニューへのハンドル。
item : [int] 型: UINT 情報を取得するメニュー項目の識別子または位置。このパラメータの意味は fByPosition の値に依存する。
fByPosition : [int] 型: BOOL uItem の意味を指定する。FALSE の場合、uItem はメニュー項目識別子として扱われる。そうでない場合はメニュー項目の位置として扱われる。詳しくは「プログラムからメニュー項目にアクセスする」を参照。
lpmii : [var] 型: LPMENUITEMINFO 取得する情報を指定し、メニュー項目情報を受け取る MENUITEMINFO 構造体へのポインタ。関数を呼び出す前に cbSize メンバに sizeof(MENUITEMINFO) を設定しておく必要がある。

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

解説

メニュー項目に関する情報を取得する。(Unicode)

[戻り値]
型: BOOL 関数が成功した場合、戻り値は非ゼロである。関数が失敗した場合、戻り値はゼロである。拡張エラー情報を取得するには
GetLastError 関数を使用する。

[備考]
MFT_STRING 型のメニュー項目を取得するには、まず MENUITEMINFO の dwTypeData メンバを NULL
に設定して GetMenuItemInfo を呼び、文字列のサイズを取得する。必要なサイズは cch+1
である。次にそのサイズのバッファを確保して dwTypeData にそのポインタを渡し、cch を 1 増やしてから再度
GetMenuItemInfo を呼び、バッファを文字列で満たす。取得したメニュー項目が他の型である場合、GetMenuItemInfo
は fType で示される型の値を dwTypeData に設定し、cch を 0 にする。

情報

プラグイン / モジュール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