winapi - 来自 Windows 的低级键盘输入

标签 winapi keyboard low-level

哪些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/

相关文章:

c++ - 系统范围的钩子(Hook)不在主程序之外运行

c++ - 在 Win32 应用程序中捕获 DLL 依赖项

c# - WPF 保持键盘焦点

java - 使用 java.awt.Toolkit 捕获全局按键

logic - 低级逻辑门、多路复用器和解码器与高级语言有何关联?

在 C 中创建最大大小文件 : drive (OS drive) fails

windows - 是否应该关闭从 _spawnv 返回的句柄?

cocoa - 如何实现 NSSearchField 的等效键

c++ - 哪个更快 : x<<1 or x<<10?

c++ - 为什么需要在编译时知道对象的内存配置文件以进行堆栈放置?