我正在编写一种简单的脚本语言,用于自动化我自己程序的GUI。其中一个宏指令应该在焦点窗口的上下文菜单上操作:
CONTEXTMENU “命令名称”
因此,您的想法是向自己发送WM_CONTEXTMENU
,等待菜单打开(类#32768),使用HMENU
获取MN_GETHMENU
,然后搜索菜单项命令匹配“命令名”,最后执行该命令。
问题是我不想只通过其标识号执行命令。上下文菜单可能包含由IContextMenu
提供的复杂项目,因此我想以某种方式说服菜单关闭,就好像所选命令是由用户手动选择一样。这样TrackPopupMenu
将获得标识号并继续执行
我尝试将WM_COMMAND
发送到菜单窗口(#32768)但是什么也没做。我正在考虑向菜单发送一系列箭头键击和最终的VK_RETURN,以便模拟菜单命令选择,但我想知道是否有人知道更简单/更优雅的方式来执行此自动化任务?