gpt4 book ai didi

c++ - 记录第二个键盘事件

转载 作者:可可西里 更新时间:2023-11-01 13:27:17 25 4
gpt4 key购买 nike

我有自己的键盘和一个 USB 条形码扫描器,可以用作第二个键盘。

我想使用主键盘控制计算机(如您通常所做的那样),并使用第二个键盘(实际上是条形码扫描器)将所有输入记录到一个文件中。

这可能吗?

重点是,我可以上网、word、excel 或其他任何东西。我会使用主键盘写入该进程,而在后台第二个键盘(条形码扫描仪)可能同时写入但写入日志文件。我现在可以使用的程序永远不会知道第二个键盘输入。

enter image description here

谢谢,欢迎所有建议。

最佳答案

您可以使用 Raw Input API在操作系统处理它们之前监视键盘事件。 API 会告诉您哪个设备正在发送每个事件,因此您可以仅记录来自扫描仪的事件。

但是,原始输入 API 不允许您阻止输入,因此要阻止扫描器的事件被作为正常键盘事件处理,您需要使用 SetWindowsHookEx() 来设置键盘取消事件的钩子(Hook)。

但是,SetWindowsHookEx() 不会报告哪个设备正在发送每个事件,因此您必须手动协调这两个 API。当 Raw Input 检测到键盘事件时,根据事件来自哪个设备设置一个标志。当 Hook 检测到相应事件时,检查标志并在标志指示扫描仪设备时关闭事件。

参见 Combining Raw Input and keyboard Hook to selectively block input from multiple keyboards在 CodeProject 上。

关于c++ - 记录第二个键盘事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42286622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com