摘要: 下面是一个键盘钩子的示例,例子完成的任务是记录键盘的击键信息,保存到一个文件中。1)建立MFC扩展DLL,设置工程名称为:KeyHook2)在工程中添加KeyHook.h文件,然后加入键盘钩子类:class AFX_EXT_CLASS CKeyHook:public CObject{public:CKeyHook();~CKeyHook();bool SetKeyHook();bool UnSetKeyHook();};3)在KeyHook.cpp中添加如下黑体字部分的代码:#include "stdafx.h"#include <afxdllx.h>#incl 阅读全文
posted @ 2007-05-15 19:30 巨巨 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 由于全局钩子函数必须包含在动态链接库中,所以本例由两个程序体来实现。 1.建立钩子Mousehook.DLL (1)选择MFC AppWizard(DLL)创建项目Mousehook;(2)选择MFC Extension DLL(共享MFC拷贝)类型; (3)由于VC5没有现成的钩子类,所以要在项目目录中创建Mousehook.h文件,在其中建立钩子类: class AFX_EXT_CLASS Cmousehook:public CObject { public: Cmousehook(); //钩子类的构造函数 ~Cmousehook(); ... 阅读全文
posted @ 2007-05-15 15:54 巨巨 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 文章来源:http://study.feloo.com/computer/pro/vc/zh/200506/38777.htmlWindows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子可以监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的钩子,监视系统中特定事件的发生,完成特定的功能,比如截获键盘、鼠标的输入,屏幕取词,日志监视等等。可见,利用钩子可以实现许多特殊而有用的功能。因此 阅读全文
posted @ 2007-05-15 15:52 巨巨 阅读(232) 评论(0) 推荐(0) 编辑