当前位置: 代码迷 >> VB Dotnet >> .net 障蔽鼠标右键 脑子快被玩坏了
  详细解决方案

.net 障蔽鼠标右键 脑子快被玩坏了

热度:78   发布时间:2016-04-25 02:06:45.0
.net 屏蔽鼠标右键 脑子快被玩坏了
问题产生原因:

需要使用 鼠标右键 在 系统及其他程序的任意状态下 调用方法(类似快捷键),
并且同时屏蔽 系统及获得焦点的其他程序的右键菜单 或 鼠标右键事件 。
(说白了就是点击别人,却只响应自己,左键还好点,却偏偏是右键)

要求 不得注册钩子(好吧,就这一条我心就凉了半截但还得硬着头皮做)

我的做法:
使用user32  的 GetAsyncKeyState 在timer中完成逻辑(说实话,这种无理要求,我已经不会玩了,只能想到这么蹩脚的手段,虽说GetAsyncKeyState也算一种钩子,但没进行人为注册,不然没法玩了)

优化了一下timer后调用方法倒是勉强像回事了
但是啊 不注册钩子怎么能屏蔽系统响应啊

后来我想到弹起右键时发送两个alt 力求变通的解决(主意够馊的吧,别笑我,我已经不会玩了),但是有的时候会被右键菜单卡住(除鼠标外不响应任何事件了)。

脑力枯竭的本菜只好来求助万能的CSDN的诸位大神,求赐教

1.目前,按照我的思路应该就差一个 只要不弹出系统菜单应该就行了
2.或者哪位大神有更好的解决方案,还请帮帮小弟
3.有什么变通的解决方法,钻逻辑上的空子也可以

先50如果解决了加到100分还可开新帖追加

年末了,小弟在此提前祝大家'圆蛋'快乐

------解决思路----------------------
记得上中学的时候,我的学校的图书馆查询机的右键就被屏蔽掉了
是物理屏蔽内种,直接给抠了。
结果我们发现windows键盘上的快捷键还可以用
后来那个键也没了。
后来又不知道谁发现,shift+f10也能打开右键
再以后我就毕业了,不知道了。
  相关解决方案