实现了基本的窗口类注册,创建窗口,消息循环和窗口过程。
在WinMain中创建钩子:
hook = SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC)LowLevelKeyboardProc, GetModuleHandle(NULL), 0);
钩子过程:
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) {
return 0;
}
运行结果是hook创建成功,每次按键都可以进入钩子过程,但是实际上按键并没有被屏蔽,打开记事本或是其他程序都可以正常输入内容。猜测是记事本又添加了低级钩子导致我的钩子优先级较低,之后尝试循环重置我的钩子,依然无效。
无论是键盘低级钩子还是鼠标的低级钩子都是这种情况。