把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的版本,系统不一样的话自己编译一下吧。
截个图:
- 标 题:鼠标修复软件2.0,IRP HOOK实现(开源)
- 作 者:Fypher
- 时 间:2009-08-21 19:31
- 链 接:http://bbs.pediy.com/showthread.php?t=96245