练习 进程钩子 全局钩子

本文介绍了C++中进程钩子和全局钩子的编程实践,包括如何创建进程内的鼠标钩子及全局鼠标钩子。通过SetWindowsHookEx函数设置钩子,讲解了钩子处理程序的编写,以及不同返回值对消息处理的影响。还提到了钩子链的概念,以帮助理解钩子的工作原理。
摘要由CSDN通过智能技术生成

C++ 关于钩子的知识点博客网上基本写的都非常详细,这里只是简单分享一下本人练手的编程步骤和一些简单认识。


钩子程序就大概分成了2种:


(1) 进程中的钩子:它 的作用范围只是限定在某个进程中,或者某个线程中。比如我们只想起一个MFC程序,截获在这个MFC程序界面中的所有鼠标,键盘操作。这属于进程中的钩子。

编写普通的进程中的钩子demo,可以直接建立一个小MFC工程就可以了。


(2) 全局的钩子:它的作用范围可以截获整个系统的操作。比如一个程序中开启了全局钩子,启动这个程序之后,就可以让整个电脑的鼠标、键盘不起作用。
编写全局钩子,我看了一下网上的说法都是 先编写一个dll,来提供设置钩子的方法接口,然后再建立一个新的测试程序,来加载这个dll,调用钩子接口


钩子程序大概流程:


【1】调用 SetWindowsHookEx 开启钩子;


eg1:我在MFC对话框中添加了一个按钮,点击按钮就会开启鼠标钩子。

//进程中的钩子---》开启鼠标钩子
void CMFChookTest1Dlg::OnBnClickedButton3()
{
	// TODO: 在此添加控件通知处理程序代码
	g_hMous
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值