如何获得外部程序右键菜单的句柄
用getmenu无法获得,请问有什么别的办法吗? 貌似比较麻烦消息里看了一下,不是很确定能否得到.
也许只有HOOK一下TrackPopupMenu函数了,这可不容易啊.... 我是想模拟点击外部程序的右键菜单,我把菜单弹出前所有子句柄和弹出菜单后作对比,没有找到菜单的句柄。
Call SetCursorPos(TempRect.x + 20, TempRect.y + 5)
mouse_event MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0
以上代码实现在指定的位置弹出右键菜单。
再后我要执行移动到菜单项时,菜单会在我移动的位置弹出。 这个怕是比较麻烦
我一时也想不到有什么好办法取得这个菜单
从API建立弹出式菜单的角度来讲,只有拦截API是最可靠的了,但是却很麻烦,还不一定稳定.
只有一个折中的办法,就是根据菜单项的高度,估算欲点击的项所在的坐标区域,再发送单击.....
但这样的话又受不同机器外观样式不同的影响.
看你这东东应用的范围了. 关注.
此事貌似没有简单的解决办法. 得到基本上也没什么用, 跨进程了, 这些东西就没用了 曾经见到过一个跨进程子类化的DLL,挺好用的.
不过微软禁止跨进程子类化,还是有他的道理的.只是我们要用到的时候,麻烦了.....
页:
[1]