快速提问 --
我正在阅读有关键盘 Hook 的文章,有人建议使用原始输入来执行此操作,但我还没有找到任何相关示例。 例如我正在使用
RAWINPUTDEVICE rid[1];
rid[0].usUsagePage = 0x01;
rid[0].usUsage = 0x06;
rid[0].hwndTarget = hWnd;
rid[0].dwFlags = 0;
RegisterRawInputDevices(rid, 1, sizeof(rid[0]));
并且在应用程序自己的窗口中捕获 WM_INPUT 很好,但在应用程序外部则不行。这可能在应用程序之外还是您必须使用 WH_KEYBOARD 或 WH_KEYBOARD_LL? MSDN 没有明确说明 Raw Input 是否可以全局制作。
编辑:我知道 Hooks,但我想知道您是否也可以使用原始输入来做到这一点!
干杯
最佳答案
查看the MSDN documentation for that stuff ,有一个名为 RIDEV_INPUTSINK
的标志,它被描述为:“如果设置,即使调用者不在前台,这也使调用者能够接收输入。”
我自己并没有弄乱它,但听起来它对于从应用程序窗口之外获取输入很有用。
关于c++ - 原始输入替代键盘 Hook ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4730190/