VB.NET全局键盘鼠标钩子 [Vb.Net Hook](修正版)

原版在这里:
http://hi.baidu.com/clso/blog/item/ee9c70d9541053ec39012f32.html/cmtid/fbad5e66614bd42dab184cd3#send

原文有些BUG,因为这是段我从C#中转换而来的代码,所在最初的转换中因为两种语言的性质不同,所以无法完全兼容一些特性。
当然,现在的我已经完全有能力兼容两种语言的特性了,所以就重写了本段代码,将原代码中的事件检测,以及原代码中的 KeyPress 时间无法检测输入字符大小写的BUG消除(在此感谢 verywzm 同志)。

注意:本段代码如果想要在VS中运行,请将[工程属性] - [调试] - [启动 Visual Studio 宿主进程] 设置的勾去掉,或者使用 CTRL+F5 进行编译后调试!
本段代码包含危险代码,请不要用作非法用途!

-------------------------------------------------------------------

这是真正的.NET环境下的全局键盘鼠标Hook代码!
本代码是我从codeproject中翻来的,原作者Michael Kennedy,C#编码。
我将该段C#源码翻译为了VB代码,因为这两种语言的内部机制有一些区别,所以我做了较大的改动。不容易啊~~
下面的代码是我修改和扩展后的代码,保留所有的权利,翻版不究,盗版可耻。

使用方法很简单,先新建一个类文件,将代码复制进取,然后在一个窗体的空白区域添加一个类型实例。
Dim WithEvents MyHook As New SystemHook()
然后使用静态绑定事件就可以了。
Hook的所有信息已经被封装在了事件的参数中,非常方便哦~

 

Code

 

 

工程下载: 已失效...

posted @ 2009-04-14 05:57 二笔青年 阅读(...) 评论(...) 编辑 收藏