鼠标Hook可视化的控件

2008-02-23 07:33:04来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

分  类:系统
语  种:简体中文
编辑器:Delphi7
平  台:Win9x,Win2k/XP/NT,Win2003
作品源代码: 本地下载
软件或演示: -
代码大小: 179.7K
软件大小: -


Hook(钩子)并不是一项很难的技术,但对于初学者来说还是一个不小的门槛。为此,我将鼠标Hook做成了一个可视化的控件,通过简单的设置几个属性,就可以截获或跟踪其它应用程序的鼠标动作。

**********
控件介绍:
【属性】
1.Blocked: Boolean;
确定是截获还是跟踪鼠标动作,True对应截获,False对应跟踪。默认值为False
2.HookedExeName: string;
指定被Hook的应用程序名称。为空时对所有的应用程序起作用。默认值为空
3.Active: Boolean;
是否处于Hook状态,只读。
4.DllName: string;
Mouse钩子的dll名称,默认为MouseHook.dll,只读。
5.DLLLoaded: Boolean;
MouseHook.dll是否被加载,只读。

【方法】
1.function Start: Boolean;
开始Hook
2.procedure Stop;
停止Hook

【事件】
WM_LBUTTONDBLCLK, WM_LBUTTONDOWN, WM_LBUTTONUP,
WM_RBUTTONDBLCLK, WM_RBUTTONDOWN, WM_RBUTTONUP,
WM_MBUTTONDBLCLK, WM_MBUTTONDOWN, WM_MBUTTONUP,
WM_NCLBUTTONDBLCLK, WM_NCLBUTTONDOWN, WM_NCLBUTTONUP,
WM_NCRBUTTONDBLCLK, WM_NCRBUTTONDOWN, WM_NCRBUTTONUP,
WM_NCMBUTTONDBLCLK, WM_NCMBUTTONDOWN, WM_NCMBUTTONUP,
WM_MOUSEMOVE, WM_MOUSEWHEEL, WM_NCMOUSEMOVE,
WM_MOUSEACTIVATE, WM_NCHITTEST, WM_CAPTURECHANGED
我处理了如上的鼠标事件,注意其中有几个事件我在测试时发现无法Hook,
它们为WM_MBUTTONDBLCLK,WM_NCMBUTTONDBLCLK,WM_MOUSEACTIVATE,WM_NCHITTEST,WM_CAPTURECHANGED

建议:不要将HookedExeName:=''; 和 Blocked:=True; 同时设置
**********

【使用说明】
1.首先安装“鼠标Hook控件”目录下的控件
2.必须将mousehook.dll拷贝到你开发的应用程序目录下,或系统目录下,如system32

【多说几句】
1.我提供了一个名为test.exe的demo,该例子是对notepad.exe进行Hook的,因此,使用前先启动notepad.exe,再点击界面上的“开始”,否则会提示“找不到指定的进程”!
2.你可以参考我的控件设计模式来设计自己的Hook控件,如键盘Hook。
3.本来想写一个组件包的,其中包括各种Hook控件,以及读写端口的控件,以方便初学者的使用,可是要些论文,以后再说吧。

上一篇: RecentFile (歷史記錄組件修改版) Repaird by senfore
下一篇: P2P点对点传输控件源码

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Graphics32 图像控件

下一篇:CTLib v2.51 for D7 Setup