关于获得菜单句柄,求救!
想对一个应用程序的菜单进行操作,用GetNextWindow等找到了包含菜单的子窗口的句柄,用GetMenu()可返回一个非0的数值,这个应该就是菜单的句柄了吧?但用IsMenu()来测试又返回0。
那么GetMenu返回的值是什么呢,如何才能正确取得菜单的句柄啊?HELP……谢谢!
问题点数:50、回复次数:7Top
1 楼liuyan4794(青牛)回复于 2005-05-10 09:33:39 得分 5
gzTop
2 楼rockcat123(醉猫)回复于 2005-05-10 10:10:05 得分 5
应该不会有错啊
是不是传递参数过程中传错了?Top
3 楼viena(维也纳N02)回复于 2005-05-10 10:29:01 得分 5
应该不会有错Top
4 楼CPLiu(老了)回复于 2005-05-10 11:06:23 得分 25
hwnd:含有菜单的窗体的hWnd
hmenu:代表窗体是否含有菜单
hsubmenu:代表每个子菜单,但是每个菜单命令不再给予handle而是用menuid代表
获取某个窗体的hWnd 调用GetMenu函数 若含有菜单返回hMenu
获取hSubMenu调用GetSubMenu函数 如返回0表示失败
获取菜单命令的MenuID调用GetMenuItemID函数 返回0表示失败 注意分隔线也算一个菜单命令
Top
5 楼lovefool(lovefool)回复于 2005-05-10 13:28:18 得分 0
对了,是不是因为GetMenu函数的参数不能为子窗口句柄啊?
如果是的话,那怎么得到包含在子窗口里的菜单的句柄呢?Top
6 楼rockcat123(醉猫)回复于 2005-05-10 16:59:50 得分 10
测试过,没出错!Top
7 楼lovefool(lovefool)回复于 2005-05-10 22:43:24 得分 0
我之前写的那个用getmenu()返回的非零值应该不是菜单的句柄,错了,sorry……
MSDN上写GetMenu()不支持对子窗口的调用,但这个应用程序的菜单又是在子窗口里的,那用什么办法可以得到菜单的句柄呢?Top




