找回密码
 加入
搜索
查看: 1832|回复: 9

如何实现点击子菜单项?

[复制链接]
发表于 2009-3-3 11:16:36 | 显示全部楼层 |阅读模式
比如主菜单如:文件  编辑  帮助

我想实现点击“文件” 菜单下的 “退出” 子菜单项

我找了好久都没看到呀?告诉我用哪个函数也行,告诉我个思路也好呀。谢谢

[ 本帖最后由 www2002hn 于 2009-3-20 10:25 编辑 ]
发表于 2009-3-3 18:19:59 | 显示全部楼层
哈哈,昨晚,我也在做这个练习.我用了WinMenuSelectItem 函数,按照例子.txt的可以实现,而.doc就没有实现,我也好想听听高手的指点.
发表于 2009-3-4 01:43:09 | 显示全部楼层
请仔细看帮助

WinMenuSelectItem 只能对标准菜单有效.不幸的是,目前有很多的菜单实际上都是程序员自己写的或者是用工具栏来"假装"成菜单的.即使是 Microsoft 的应用程序也有很多这样的.
 楼主| 发表于 2009-3-4 10:29:32 | 显示全部楼层

继续……

我碰到的正是“假”菜单,它是用Toolbar模拟菜单的。

现在我已经通过使用_GUICtrlToolbar_ClickIndex这个函数点击 主项 成功了,现在关键难点是下拉菜单出现以后,得不到各个 子项 的控件ID,用AU3自带的窗口信息查询工具也找不到。

请高手帮忙。
 楼主| 发表于 2009-3-4 17:58:03 | 显示全部楼层

简化问题

其实以上问题可以简化为:
    用什么函数操作控制 单击右键 后弹出的  快捷菜单 ?
发表于 2009-3-4 18:37:46 | 显示全部楼层
模拟鼠标去点击即可。
1 找出快捷菜单显示的位置,一般都是鼠标右击所在的位置为快捷菜单的左上角
2 通过快捷菜单中各子项的位置与快捷菜单左上角位置的关系,使用MOUSECLICK去模拟点击应该就可以了。
发表于 2009-3-4 18:54:38 | 显示全部楼层
我是用send(快捷键)来实现这个的。
Send("!f")
Send("x")
 楼主| 发表于 2009-3-6 08:39:42 | 显示全部楼层

继续中

firwzy:模拟鼠标去点击即可。
1 找出快捷菜单显示的位置,一般都是鼠标右击所在的位置为快捷菜单的左上角
2 通过快捷菜单中各子项的位置与快捷菜单左上角位置的关系,使用MOUSECLICK去模拟点击应该就可以了。

1、有时候鼠标右击所在的位置为快捷菜单的左下角,不信你马上可以在IE下半部分点击试一试;甚至如果你在中间部分点击试一试。
   AU3中有没有判断弹出快捷菜单的函数呢?
发表于 2009-3-7 21:35:49 | 显示全部楼层
可以先获得弹出菜单的句柄,然后使用UDF操作菜单就OK了。可以参考我的贴子。http://www.autoitx.com/forum.php?mod=viewthread&tid=5354
发表于 2009-3-16 21:52:11 | 显示全部楼层
我也正在寻找此答案!希望高手出招!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-19 08:01 , Processed in 0.076073 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表