如何获取系统右键弹出来菜单的句柄?

crazyhardy 2010-04-30 11:41:54
如题
...全文
907 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazyhardy 2010-05-05
  • 打赏
  • 举报
回复
这个问题当时自己解决了,确实如 "cnzdgs" 所说,顺便分享下我当时的解决方法
当时实在是不知道"标准菜单的窗口类名是#32768",然后就用了一个很笨的方法,死循环的弹出,然后用SPY++一抓,就看到了...所以当时就解决了.现在结贴
兔子-顾问 2010-05-01
  • 打赏
  • 举报
回复
cnzdgs
注册时间2008年01月16日
这么快都钻石了……
xyytuo 2010-05-01
  • 打赏
  • 举报
回复
像追逐女人一样去追逐第一桶金
cnzdgs 2010-05-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wuyazhe 的回复:]
cnzdgs
注册时间2008年01月16日
这么快都钻石了……
[/Quote]
不说我都忘了,升钻石刚好是在去年的这个时候。不过不是.NET版。
threenewbee 2010-05-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cnzdgs 的回复:]
你想获取哪个菜单,要实现什么?
标准菜单的窗口类名是#32768,但Findwindows得到的是HWND,不是HMENU,不能用来实现菜单操作。
可以考虑用SetWindowsHookEx捕获WM_INITMENUPOPUP消息。
[/Quote]
这个办法最好。
markfeier 2010-05-01
  • 打赏
  • 举报
回复
Icontextmenu
zhouyuchun08 2010-05-01
  • 打赏
  • 举报
回复
不清楚,积个分
crazyhardy 2010-04-30
  • 打赏
  • 举报
回复
现在的问题是我不知道那窗口的handle是什么?,如我想获取菜单项,那我可调以下API
[DllImport("user32.dll")]
static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);

问题是,这个hWnd我该怎么处理? 还没想到如何获取这个hWnd的值的方法
liji2009 2010-04-30
  • 打赏
  • 举报
回复
用Icontextmenu接口即可。在其中EnableMenuItem就行拉!
crazyhardy 2010-04-30
  • 打赏
  • 举报
回复
Findwindows,但我不知道它的类名及标题名,也无法通过spy++获取``因为只要一激活其它程序,那菜单窗口就消失了
cnzdgs 2010-04-30
  • 打赏
  • 举报
回复
你想获取哪个菜单,要实现什么?
标准菜单的窗口类名是#32768,但Findwindows得到的是HWND,不是HMENU,不能用来实现菜单操作。
可以考虑用SetWindowsHookEx捕获WM_INITMENUPOPUP消息。

110,577

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧