猎豹MFC--钩子技术HOOK
![](https://images2015.cnblogs.com/blog/751322/201603/751322-20160320220345724-2033007034.png)
如果安装了钩子后面在此输入aaaa则aaaa就变成了bbbb:
如果删除了钩子 则bbbbb就又变回aaaaa.这种钩子 叫做 getMessage:
钩子函数必须是全局函数或静态函数:
有了钩子函数 在其内写代码 如下:
有了 钩子函数 要把钩子进行安装,双击安装按钮:
双击安装按钮后增加如下代码:第一个是钩子消息种类,第二个是该钩子函数,三个是空,四个是获取线程ID的 API函数。该SetwindowsHookEx函数有一个返回值,返回值为钩子句柄。
返回增加返回值变量 接收:
再 双击删除按钮 增加如下代码:删除钩子。
把a变成b的钩子函数实现:
41 42是键盘的扫描码,大小写均是41 42.
现在下面看到的 其实 已经是键盘敲的a了,而输入框显示的是b
点击卸载后 敲击a又变回a而不再是b:一下 键盘敲击的是a:
增加按钮和静态文本:
添加消息提示:
![](afc94e72-a76a-4988-a32c-737b749b053b_files/659114ab-565b-421d-b26a-dc9f9c4d9cb2.png)
先增加句柄变量:
增加鼠标钩子函数,返回1代表 执行完函数时 鼠标不能用了。
![](afc94e72-a76a-4988-a32c-737b749b053b_files/56a00b2d-ee6a-4ad4-9560-1b9a7fbf6c68.png)
当鼠标钩子后 鼠标不能用 要用键盘操作按钮 删除 钩子。
![](https://images2015.cnblogs.com/blog/751322/201603/751322-20160320220407490-1213752535.png)
先安装装钩子:
卸载钩子:
代码有错误 修改后如下:
安装钩子后 敲空格无反应:
局部钩子支队当前 进程有效也叫进程钩子。
全局钩子 必须对远程钩子进行。