首页 新闻 会员 周边

c#中如何实现点击鼠标右键编程双击

0
悬赏园豆:100 [已关闭问题] 关闭于 2009-04-27 12:25

我通过钩子截获鼠标信息,判断是鼠标右键向下按的时候,通过如下代码发送双击消息

  SetCursorPos(ms.p.X, ms.p.Y);

            mouse_event(WM_LBUTTONDOWN | WM_LBUTTONUP, 0, 0, 0, 0);
            mouse_event(WM_LBUTTONUP | WM_LBUTTONUP, 0, 0, 0, 0);

 

问题是对与托盘里的程序图标是好用的,但是对于其他窗体和桌面上的图标没有效果,

问题补充: 所要的功能是这样的,对任意的鼠标右键操作都变成左键双击
玄魂的主页 玄魂 | 初学一级 | 园豆:15
提问于:2009-04-22 13:20
< >
分享
所有回答(3)
0

这个鼠标的事件你需要在你要用的界面注册,所以你要是所有的页面都使用的话,你得考虑这个问题.

邢少 | 园豆:10926 (专家六级) | 2009-04-22 15:30
0

为什么不在MouseDown事件里做文章,MouseButtons 的枚举判定那个键,在事件里发送双击的消息呢? 我觉得没有必要用钩子 吧。

winzheng | 园豆:8797 (大侠五级) | 2009-04-22 15:53
0

.Net 不支持 全局钩子,你需要用 C++写一个全局钩子的DLL,然后用.Net 调用才可以。

参见微软下面的说明:

http://support.microsoft.com/kb/318804

eaglet | 园豆:17139 (专家六级) | 2009-04-23 07:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册