哪些win32调用可用于从Windows服务全局检测按键事件(不仅仅是1个窗口,我想每次按下一个键时都收到一条消息)?
最佳答案
你想使用 Win32 Hooks。特别是键盘 Hook 。
You can read more about it here
您想要的 Hook 类型是 WH_KEYBOARD,您可以通过 Win32 API SetWindowsHookEx 设置它。
基本上,每次在任何应用程序系统范围内按下一个键时,windows 都会调用一个 dll 中的函数。
该钩子(Hook)将调用您的函数,该函数将具有此接口(interface):
LRESULT CALLBACK KeyboardProc(
int code,
WPARAM wParam,
LPARAM lParam
);
More information about this callback here .
使用 windows Hook ,您不仅可以跨所有进程跟踪系统范围的事件,还可以过滤它们并完全停止它们。
关于winapi - 来自 Windows 的低级键盘输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/310576/