MFC -- 实现键盘HOOK

Posted web安全工具库

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC -- 实现键盘HOOK相关的知识,希望对你有一定的参考价值。

一、新建一个MFC应用程序

 

二、选择资源视图,打开界面设置(IDD_KEYBOARDHOOK_DIALOG)

 

三、删除原有的控件,从工具箱添加一个按钮

 

四、修改按钮的标题属性,双击进入开始编写代码

 

五、代码编写

1、编写HOOK按钮事件,点击按钮创建一个hook,返回句柄

//1、创建一个hook
       hk = SetWindowsHookEx(WH_KEYBOARD, //hook类型,键盘hook
              KeyboardProc, //回调函数
              NULL, //第三方的注入dll,全局hook使用
              GetCurrentThreadId());//线程id,填0表示hook所有程序
       if (hk == NULL)//如果创建失败,弹出信息框
       
              AfxMessageBox(L"HOOK失败");
              return;
       

2、回调函数

HHOOK hk;
//键盘hook的回调函数
LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam)

       OutputDebugStringW(L"键盘被hook!!!");
       //钩子执行完后执行该函数
       return CallNextHookEx(hk, code, wParam, lParam);

六、运行结果

 

七、获取项目源码

公众号回复:20220112

禁止非法,后果自负

欢迎关注公众号:逆向有你

欢迎关注视频号:之乎者也吧

 

以上是关于MFC -- 实现键盘HOOK的主要内容,如果未能解决你的问题,请参考以下文章

火山中文编程 -- 实现键盘HOOK

钩子编程(HOOK) 安装进程内键盘钩子

hook 鼠标键盘消息实例分析

钩子编程(HOOK) 屏蔽全部按键鼠标及系统功能键

MFC/VC++进程自我保护(通过远程线程注入或HOOK)

vc 窗体隐藏的情况下不能hook键盘