原文链接 -> 传送门
函数功能:
GetMenuItemInfo 函数用于获取一个菜单项的信息。
API 函数原型:
注释:_In_ 说明该参数是输入的;_Inout_ 说明该参数既是输入的,也是输出的。
BOOL WINAPI GetMenuItemInfo( _In_ HMENU hMenu, _In_ UINT uItem, _In_ BOOL fByPosition, _Inout_ LPMENUITEMINFO lpmii );
参数解析:
|
参数 |
含义 |
|
hMenu |
指向包含指定菜单项的菜单的句柄 |
|
uItem |
存放获取信息的菜单项的 ID 或位置。该参数的含义取决于参数 fByPosition 的值 |
|
fByPosition |
指定 uItem 参数的含义:如果该参数为 FALSE,参数 uItem 中存放的是菜单项的 ID;否则,参数 uItem 存放的是菜单项的位置 |
|
lpmii |
指向一个检索和接受菜单项指定信息的 MENUITEMINFO 结构体。需要注意的是,你需要在调用函数之前,使用 sizeof(MENUITEMINFO) 来设置结构体成员 cbSize |
返回值:
1. 如果函数调用成功,返回值为非 0;
2. 如果函数调用失败,返回值为 0。
获取有关错误的更多信息,请调用 GetLastError 函数。
备注:
1. 获取一个 MFT_STRING 类型的菜单项信息,首先通过设置 MENUITEMINFO 结构体的 dwTypeData 成员为 NULL,然后调用 GetMenuItemInfo 函数来获取字符串的长度,cch+1 的值就是我们需要的。然后分配这个值大小的缓冲区,将 dwTypeData 设置为该缓冲区的指针,cch 成员自增,然后再次调用 GetMenuItemInfo 函数使结果字符串填充缓冲区。
2. 如果获取的是其他类型的菜单项,调用 GetMenuItemInfo 函数后 dwTypeData 成员将会被设置为 fType 成员定义的类型数据,成员 cch 将被设置为 0。
需求:
|
Minimum supported client |
Windows 2000 专业版 [仅桌面应用程序] |
|
Minimum supported server |
Windows 2000 服务器版 [仅桌面应用程序] |
|
Header |
Winuser.h (包含于 Windows.h) |
|
Library |
User32.lib |
|
DLL |
User32.dll |




