2

我有一个条形码扫描仪用作 HID 设备。每次扫描条码时,它都会直接进入 Windows 键盘,例如,如果我打开记事本,我可以看到在那里输入的条码。

据我所知,以编程方式可以从您的 HID 设备中读取 HID 数据。

但是如果用户已经在一个带有文本编辑控件的表单上会发生什么呢?扫描的代码将进入文本框。

您可以阻止传入的文本并进行仅后台处理吗?

你能解释一下这个理论吗?

4

3 回答 3

2

您可以将扫描仪设置为使用 USB-HID(POS) 设置。您的扫描仪设备的条形码设置数据表应该有它。我使用这个项目来测试我的扫描仪。http://www.codeproject.com/Articles/18099/A-USB-HID-Component-for-C

于 2012-11-10T06:44:15.590 回答
2

看看您的条码扫描器是否可以模拟串行端口,只需将数据直接从串行端口读取到您的应用程序中。

这比全局键盘挂钩更清洁、更便宜。当我不久前研究这个时,我发现大多数 USB 条形码扫描仪都可以模拟串行端口,用大多数编程语言读取串行端口数据很容易。我碰巧用Java做我的,我实际上发布了一个例子来回答这个问题。

于 2012-06-12T17:41:01.800 回答
0

当然,只需在控件处理按键之前捕获按键并抑制事件的正常处理。例如,在 VB.NET 中,您可能会覆盖OnKeyPress表单中的方法并将其设置KeyPreviewtrue

于 2012-06-04T10:28:51.410 回答