首页
社区
课程
招聘
[原创]鼠标修复软件2.0,IRP HOOK实现(开源)
发表于: 2009-8-21 19:31 21202

[原创]鼠标修复软件2.0,IRP HOOK实现(开源)

2009-8-21 19:31
21202

把1.0修改了下,共享出来跟大家分享!
(1.0:http://bbs.pediy.com/showthread.php?t=96089)

代码中的注释抄过来当简介了:

/*******************************************************************************************
*                MouseRepairExp 2.0 (sys part)
*
*
*                What's new:
*
*                支持了鼠标的动态加载、卸载,修复了程序运行期间插拔其它USB设备会蓝屏的BUG。
*                 除了解决“单击变连击”,2.0版新增加了对于“滚轮不听话”的修复功能。
*                该功能针对有的鼠标向上滚动时偏要向下滚动的现象。
*                如果您的鼠标恰恰是无法向下滚动(囧),那就自己相应改改吧,毕竟代码都有了。
*
*
*                About Technology:
*
*                1.0 版本采用过滤驱动实现,但是过滤驱动有很多问题,比如鼠标接入时要动态attach,
*                鼠标拔出时要动态卸载。而且鼠标有两种接口,PS/2和USB,还必须要分别对待它们。
*                PS/2动态attach麻烦,USB动态卸载麻烦(不处理好PNP会影响其它USB设备)。囧
*
*                因此在2.0版里索性改用Hook IRP的处理方法了。
*
*                “单击变双击”解决方案:每次左键按下时,记录一个时刻,如果距上次左键按下
*                小于100ms,则视为机械故障,直接屏蔽掉。
*
*                “滚轮不听话”解决方案:在一系列连续的滚动事件中,只要有一次向上滚动,
*                则把以后的所有滚动都修改成向上的。
*
*
*                “拖拽不好使”解决方案:无,您要有了请告诉我。试了几个方案都不理想,放弃之。               
*
*
*                About Author:
*
*                欢迎技术交流。
*                by Fypher ( nmn714@163.com )
*                http://hi.baidu.com/nmn714
*
********************************************************************************************/

另外遇到无法加载驱动的错误要么是被杀软XX了,要么是操作系统版本不支持。我只编译了几个x86 32的版本,系统不一样的话自己编译一下吧。

截个图:


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (39)
雪    币: 63
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个软件很不错,正好有用!
2009-8-21 22:17
0
雪    币: 97697
活跃值: (200829)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
3
Support.
2009-8-21 22:19
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
4
好东西要支持~
2009-8-21 22:19
0
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
5
支持聂帅。~
2009-8-21 23:03
0
雪    币: 142
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
牛x,以前我的鼠标也这样,后来换了个
2009-8-22 09:47
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
7
开源的支持。。。
2009-8-22 09:53
0
雪    币: 5327
活跃值: (3719)
能力值: ( LV13,RANK:283 )
在线值:
发帖
回帖
粉丝
8
学习了,谢谢分享
2009-8-22 09:55
0
雪    币: 74
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
很实用的说,~~
2009-8-22 10:02
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我在邪恶八进制里也看到过这篇文章!
URL:  http://forum.eviloctal.com/viewthread.php?tid=38341&highlight=%E9%BC%A0%E6%A0%87%E4%BF%AE%E5%A4%8D%E8%BD%AF%E4%BB%B62.0
2009-8-22 22:23
0
雪    币: 284
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
支持fy
2009-8-23 08:48
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
10楼的图标很酷哦,呵呵。
2009-8-23 09:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
鼠标是最常用的东西啦
这软件不错
2009-8-23 09:42
0
雪    币: 269
活跃值: (25)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
14
我是来下代码的~谢谢分享
2009-8-27 23:25
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
偶的小鼠有缺陷正好能用上,谢谢
2009-8-30 08:09
0
雪    币: 716
活跃值: (162)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
16
厉害,刚好用上,多谢
2009-8-30 19:56
0
雪    币: 233
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
支持,现在就去你的http://hi.baidu.com/nmn714看看
2009-8-31 09:12
0
雪    币: 244
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
源码学习了~支持ing
2009-8-31 10:58
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
很实用...
2009-8-31 21:43
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
正好 最近鼠标出问题了,打算买新的呢。
2009-9-1 14:39
0
雪    币: 206
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
Win 7 不支持?
2009-9-1 16:31
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
好东西,又开源,赞一个~~
2009-9-2 09:33
0
雪    币: 234
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
顶一个。。。。
2009-9-2 13:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
按我的经验,鼠标单击变多击是因为微动开关的触点脏了,我用了几个罗技鼠标,一年左右就会这样。
修理办法是拆开鼠标,打开微动开关的上盖(用缝衣针在上盖和底座的接缝处插进去,轻轻撬开)。用镊子取下能活动的一块铜片,再用酒精清洗触点。装回去就和新的一样好用了。
拆的时候要注意那块铜片比较脆弱,别折坏了。可以先找个旧鼠标练练,大多数鼠标的微动开关应该差不多。
2009-9-2 22:32
0
雪    币: 55
活跃值: (201)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
偶家小鼠滚轮有问题!44
2009-9-3 08:47
0
游客
登录 | 注册 方可回帖
返回
//