码迷,mamicode.com
首页 > 其他好文 > 详细

钩子编程(HOOK) 安装进程内鼠标钩子

时间:2014-05-14 21:22:27      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   c   ext   

作者 : 卿笃军


钩子函数: WINDOWS的钩子函数可以认为是WINDOWS的主要特性之一。利用它们,您可以捕捉您自己进程或其它进程发生的事件。通过“钩挂”,您可以给WINDOWS一个处理或过滤事件的回调函数,该函数也叫做“钩子函数”,当每次发生您感兴趣的事件时,WINDOWS都将调用该函数。


下面介绍如何安装一个进程内的鼠标钩子。


第一步:打开VC6.0,新建一个基于对话框的MFC应用程序。


第二步:将如下代码拷贝到BOOL CInnerHookDlg::OnInitDialog()上面的位置,(注意不是拷贝到OnInitDialog()里面)

HHOOK g_hMouse = NULL;
//Hook
LRESULT CALLBACK MouseProc(int nCode, WPARAM wParam,  LPARAM lParam)
{
	return 1;
}


第三步:在OnInitDialog()函数里面如下位置,复制一行如下代码~~~

	g_hMouse = SetWindowsHookEx(WH_MOUSE, MouseProc, NULL, GetCurrentThreadId());
好了,钩子安装成功~~~

第四步:运行程序,你会发现,鼠标点击事件已经被屏蔽掉了~
bubuko.com,布布扣


注释:

SetWindowsHookEx()函数用来安装钩子。其中参数如下(其返回值是该钩子的句柄):

SetWindowsHookEx(
nt idHook, \\钩子类型
HOOKPROC lpfn, \\回调函数地址
HINSTANCE hMod, \\实例句柄
DWORD dwThreadId); \\线程ID

钩子子程是一个回调函数,形式如下:

LRESULT CALLBACK HookProc
(
int nCode,
WPARAM wParam,
LPARAM lParam
);

钩子编程(HOOK) 安装进程内鼠标钩子,布布扣,bubuko.com

钩子编程(HOOK) 安装进程内鼠标钩子

标签:style   blog   class   code   c   ext   

原文地址:http://blog.csdn.net/qingdujun/article/details/25813183

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!