有HMENU,如何枚举菜单项并以编程方式调用?

时间:2014-07-20 07:08:46

标签: c++ windows winapi

如何在不调用任何类型的GUI函数(如TrackPopupMenuEx)的情况下完全以编程方式执行此操作?

1 个答案:

答案 0 :(得分:1)

假设您拥有顶级菜单的HMENU,则可以使用GetMenuItemCount查看菜单上有多少项,然后使用GetMenuItemID获取相关ID每个项目。获得ID后,您可以PostMessage(hWnd, WM_COMMAND, ID, 0)模拟点击。

如果应用程序动态修改其菜单项,您可能首先需要SendMessage一个虚拟WM_INITMENUWM_INITMENUPOPUP到欠款窗口,以便它可以在枚举之前调整菜单项它们。