精易论坛

标题: 获取菜单栏图标菜单栏复选框多选框判断是否勾选 [打印本页]

作者: 泅渡    时间: 2024-7-9 23:49
标题: 获取菜单栏图标菜单栏复选框多选框判断是否勾选

目前点击是正常实现的,但是获取这个前面是否勾选的状态失败了。
GetMenuState返回的结果一直是0 没有变化。
[color=var(--theme-text-glow-high-contrast) !important][backcolor=var(--theme-body-background-medium)]GetMenuItemInfoA 没看懂怎么用。。。
有大佬知道怎么解决吗?
test.e (1.01 MB, 下载次数: 2)


补充内容 (2024-7-9 23:51):
不一定非要用GetMenuItemInfoA特定函数,只要能获取即可。。感谢各位大佬!

补充内容 (2024-7-10 00:04):
GetMenuState好像必须要让菜单的装天蓝显示一下才会变化,单纯发消息不会引起变化。。。
作者: 泅渡    时间: 2024-7-10 08:17
有大佬吗
作者: xiaoSeven    时间: 2024-7-10 09:18
大漠识图试一下
作者: 泅渡    时间: 2024-7-10 10:29
xiaoSeven 发表于 2024-7-10 09:18
大漠识图试一下

想要api的
作者: anyuezhiji    时间: 2024-7-19 08:38
  
窗口程序集名保 留  保 留备 注
窗口程序集1   
变量名类 型数组备 注
窗口句柄整数型  
菜单句柄整数型  
菜单一整数型  
菜单二整数型  
菜单三整数型  
菜单四整数型  
菜单五整数型  
菜单项目整数型  

子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
计次整数型 
菜单索引整数型 
窗口句柄 = FindWindowA (0, “无标题 - 记事本”)  ' Win98及WinXP是这个标题,W2k请修改标题名
调试输出 (窗口句柄)
菜单句柄 = GetMenu (窗口句柄)  ' 取外部程序菜单句柄
调试输出 (菜单句柄)
菜单一 = GetSubMenu (菜单句柄, 3)  ' 从0开始计算,表示第横向第几个菜单选项 0为第一个
调试输出 (1, 菜单一)
菜单索引 = 0
计次循环首 (30, 计次)
调试输出 (1, 计次 - 1, 菜单_取标题 (菜单一, 计次 - 1))
如果真 (寻找文本 (菜单_取标题 (菜单一, 计次 - 1), “状态栏”, , ) > -1)
' 菜单二 = GetSubMenu (菜单一, i - 1)  ' 从0开始计算 对应横向下拉第几个选项后第几行菜单选项
菜单索引 = 计次 - 1
跳出循环 ()

计次循环尾 ()
菜单项目 = GetMenuItemID (菜单一, 菜单索引)
菜单_点击 (窗口句柄, 菜单一, 菜单索引)
如果 (GetMenuState (菜单一, 菜单索引, #MF_BYPOSITION ) = 8)
CheckMenuItem (菜单一, 菜单项目, 0)
CheckMenuItem (菜单一, 菜单项目, 8)
调试输出 (“勾选状态:”, GetMenuState (菜单一, 菜单索引, #MF_BYPOSITION ))


i支持库列表   支持库注释   
spec特殊功能支持库

咿,这个是不是问过





欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4