可以使用RawInput API读取原始输入并防止Windows在之后处理输入吗?

时间:2013-11-05 17:42:33

标签: c# api barcode barcode-scanner raw-input

我想将RawInput API用于条形码阅读器,但我不希望条形码阅读器的输出在完成后由Windows处理。

我想使用RawInput API的原因是它允许我辨别常规键盘输入和条形码阅读器输入。

我知道这可以使用低级别的键盘程序来完成,但是这不会提供有关该事件的设备的任何信息。

1 个答案:

答案 0 :(得分:0)

根据以下问题,似乎无法使用RawInput API来吞下键输入:Is it possible to swallow a key in Raw Input?

另一种可能性是从RawInput API将焦点设置到我的应用程序,并处理主窗体的KeyPress事件中的输入。这样我可以通过将e.Handled状态设置为true来抑制键。

另一种替代方法是使用全局钩子和RawInput API,但这需要两个单独的进程,因为RawInput API在同一进程中取消挂钩任何全局钩子。