dic*_*oce 5 keyboard winapi low-level
可以使用哪些win32调用来全局检测按键事件(不仅仅是1个窗口,我希望每次按下一个键时都会收到消息),来自Windows服务?
您想使用 Win32 Hooks。特别是键盘挂钩。
您想要的挂钩类型是 WH_KEYBOARD,您可以通过 Win32 API SetWindowsHookEx 设置它。
基本上,每当在任何应用程序系统范围内按下一个键时,Windows 都会调用您创建的 dll 中的函数。
该钩子将调用您的函数,该函数将具有以下接口:
LRESULT CALLBACK KeyboardProc(
int code,
WPARAM wParam,
LPARAM lParam
);
Run Code Online (Sandbox Code Playgroud)
使用 Windows 挂钩,您不仅可以跟踪所有进程中的系统范围事件,还可以过滤它们并完全停止它们。