有2个USB键盘KeyboardA和KeyboardB的PC
User1适用于KeyboardA。
有时候User2键入UserB。
任务:来自KeyboardB的所有输入都重定向到文件。
如果我使用SetWindowsHookEx我可以挂钩输入和停止消息,但是不能检测KeyboardA或KeyboardB(有检测键盘的方法吗?)
如果我使用RegisterRawInputDevices我检测到KeyboardA或KeyboardB,但是不能停止消息并从KeyboardB转换到User1接口(有办法停止消息?)。
我可能需要另外一种方法来将键盘中的数据直接传送到特定的地方吗?
答案 0 :(得分:2)
我的解决方案:
使用SetWindowsHookEx阻止所有输入
在RawInput中确定键盘
如果是活动窗口中的KeyboardA重新发送输入
如果是KeyboardB重定向输入
对于第1项中的禁用块,我在LLKHF_INJECTED上检查KeyboardHookStruct.Flags而不是 块