#include <Windows.h>
// 键盘事件处理函数
LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode < 0)
{
return CallNextHookEx(NULL, nCode, wParam, lParam);
}
return 1;
}
// 鼠标事件处理函数
LRESULT CALLBACK MouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
// 如果nCode小于0,则返回调用下一个钩子
if (nCode < 0)
{
return CallNextHookEx(NULL, nCode, wParam, lParam);
}
// 返回非零值以阻止事件传递给目标窗口
return 1;
}
int main()
{
// 安装键盘钩子
HHOOK keyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, NULL, 0);
// 安装鼠标钩子
HHOOK mouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseProc, NULL, 0);
// 执行某些操作
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
// 卸载键盘钩子
UnhookWindowsHookEx(keyboardHook);
// 卸载鼠标钩子
UnhookWindowsHookEx(mouseHook);
return 0;
}