我正在使用原始输入 API,因为我需要能够以不同的方式响应来自不同 USB HID 设备的密钥,即使它是相同的密钥。
我的窗口WM_INPUT
正确接收消息。我可以检索RAWKEYBOARD
结构以获得我需要的所有信息。
现在我想阻止那些 USB 设备能够切换 NumLock。我希望原始输入 API 可以让我吞下 NumLock 按键?
我尝试将 WM_INPUT 消息的 Result 设置为 1,但这似乎没有效果。
(我是用 C# 编写的,但由于这都是低级 Windows API,你可能不需要 C# 或 .NET 知识来回答这个问题。)
编辑:哦,是的,我也尝试过使用全局键盘钩子 ( SetWindowsHookEx
) 来吞下 NumLock 按键。不幸的是,当我初始化原始输入 API 时,在窗口处于活动状态时不再调用全局键盘挂钩。我也尝试在原始输入之后设置全局钩子,但效果相同。