////////请问当子菜单不可见时,如何获得它的句柄,我只知道用到控件子类化知识。///////// 我拦截了WM-INITMENU 和WM-INITPOPMENU 两个消息都不行。这两个消息只有在菜单可见时,点击后触发。请问,我需要拦截哪个消息呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你用的是VB自带的菜单编辑器还是第三方控件????奇怪,刚刚试了一下用菜单编辑器做了一个菜单,再用myspy去找,居然没有找到hwnd不知这样做出来的菜单是不是详label和imagebox那样只是画在form上而没有句柄???? 我查了很多国外的网站,只有几个帖子提到这个问题,即当子菜单不可见时,用GETSUBMENU得不到句柄(显然,可见时可以得到,我试过),要拦截消息INITMENU或INITPOPMENU查看WPRAPR参数,要用到控件的子类化,我不知道怎样处理。我的菜单是用编辑器加上的,VISIBLE选FALSE属性。我想实现一个很常见的功能,右击鼠标弹出彩旦,但窗口顶上的彩旦不能显示。////顺便说一句,国外的开发类网站要好的多,CSDN要努力啊。 //我想实现一个很常见的功能,右击鼠标弹出彩旦,但窗口顶上的彩旦不能显示。//不完整,我想用GetSubMenuCount 得到子彩旦的数目,该函数必须用到子彩旦句柄这个参数。 用GetMenuItemInfo能获得隐藏的菜单项么? 不行的啦,Visible=False表面上看起来这个菜单项是在的,其实在Windows看来菜单是没有Visible这种属性的。所以VB6是这样控制的:Visible=True就载入菜单,Visible=False就销毁它。既然不存在的,怎么去获得它的hMenu呢? MENU是一个#32768类窗口,是窗口就有句柄HWND。但MENU的HWND是动态生成的,必须HOOK MESSAGE,然后才能SUBCLASS到WM_MENUINIT。解决办法:1、使用自己的菜单系统而非标准系统。2、使用专门的HOOK工具,可以到HTTP://PSCODE.COM/VB上搜索。 MENU是一个#32768类窗口,是窗口就有句柄HWND。====================================================但为什么用myspy或spy++之类的工具只能找到form和其他控件的hwnd而没有菜单的hwnd???我用myspy等工具查看菜单位置,显示的是form的句柄如果是#32768、#32770类的窗口,用上述的工具应该也能找到。我以前试过。 哦,好像是真的有句柄,但不知怎么得到。正在问别人,如果有空到:http://www.533.net/cutebook/?act=view&userid=759&id=142249&page=1看看他有没有回复 (我晕噢,原来搞错了。楼主要的不是hMenu是hWnd啊……) 我想用GetSubMenuCount 得到子彩旦的数目,该函数必须用到子彩旦句柄即hMenu http://dev.csdn.net/develop/article/28/28670.shtm或者直接发消息给卢培培(goodname008) 。。 【求助】下拉列表中如何放图片? 关于 call 命令 谁有用API查看文件夹大小的代码 谢谢 drawText问题 ocx嵌套问题 数据库的备份与恢复 急,在线等 ADODC连接sqlserver数据库?谢谢 这个进程怎么关掉? 关于HTTP报头 VB聊天室程序中-如何在在线用户(listbox)中断开一个用户的连接 怎样取出去掉空格之后的文本? 有什么工具可以反编译VB6写的COM+文件吗?
奇怪,刚刚试了一下用菜单编辑器做了一个菜单,再用myspy去找,居然没有找到hwnd
不知这样做出来的菜单是不是详label和imagebox那样只是画在form上而没有句柄????
//我想实现一个很常见的功能,右击鼠标弹出彩旦,但窗口顶上的彩旦不能显示。//不完整,我想用GetSubMenuCount 得到子彩旦的数目,该函数必须用到子彩旦句柄这个参数。
但MENU的HWND是动态生成的,必须HOOK MESSAGE,然后才能SUBCLASS到WM_MENUINIT。
解决办法:
1、使用自己的菜单系统而非标准系统。
2、使用专门的HOOK工具,可以到HTTP://PSCODE.COM/VB上搜索。
====================================================
但为什么用myspy或spy++之类的工具只能找到form和其他控件的hwnd而没有菜单的hwnd???
我用myspy等工具查看菜单位置,显示的是form的句柄
如果是#32768、#32770类的窗口,用上述的工具应该也能找到。我以前试过。
正在问别人,如果有空到:
http://www.533.net/cutebook/?act=view&userid=759&id=142249&page=1
看看他有没有回复
或者直接发消息给卢培培(goodname008) 。。