一、新建一个MFC应用程序

MFC -- 实现键盘HOOK_回调函数

MFC -- 实现键盘HOOK_microsoft_02

 

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

MFC -- 实现键盘HOOK_mfc_03

 

MFC -- 实现键盘HOOK_mfc_04

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

MFC -- 实现键盘HOOK_公众号_05

 

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

MFC -- 实现键盘HOOK_公众号_06

 

五、代码编写

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);
}

六、运行结果

MFC -- 实现键盘HOOK_回调函数_07

 

七、获取项目源码

公众号回复:20220112

禁止非法,后果自负

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

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

MFC -- 实现键盘HOOK_microsoft_08