getMenuText(menuName){
Handle := MenuGetHandle(menuName)
; 获取菜单内菜单项的数目.
item_count := DllCall("GetMenuItemCount", "ptr", Handle)
ret := ""
Loop, % item_count
{
menuItemIndex := A_Index - 1 ;菜单项位置索引
; 获取菜单项字符串长度
strLen := DllCall("GetMenuStringA", "Ptr", Handle, "UInt", menuItemIndex, "Ptr", 0, "Int", 0, "UInt", 0x400)
; 分配缓冲区
VarSetCapacity(buffer, strLen + 1)
; 获取菜单项字符串
DllCall("GetMenuStringA", "Ptr", Handle, "UInt", menuItemIndex, "Ptr", &buffer, "Int", strLen + 1, "UInt", 0x400)
; 显示菜单项字符串
ret.= StrGet(&buffer, strLen, "CP0") "`n"
; 释放资源
; DllCall("GlobalFree", "Ptr", &buffer)
}
MsgBox, % ret
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。