区分条形码阅读器和标准键盘

时间:2016-01-25 03:11:22

标签: vb.net

我在vb.net 2013中创建了一个应用程序,我需要实现一种从USB条形码阅读器中读取的方法。我读过大多数条码阅读器都应该像简单的键盘一样对待。但这就是问题所在。

在我的主窗体上,我有几个TextBoxes。其中一个是Barcode TextBox,用户可以手动编写条形码,也可以从条形码阅读器中读取。

在其他TextBox上,只允许来自键盘的手动输入,而不是条形码阅读器。

有没有办法让这成为可能?

3 个答案:

答案 0 :(得分:1)

我一直使用TextChanged事件并检查自上次文本更改后添加的字符数。如果打字,它将始终为1.如果扫描,它将更多。一个问题是粘贴将显示为扫描,但根据我的经验,这也是我想要的。

答案 1 :(得分:0)

这可能是不可能的,因为条形码阅读器模拟键盘,并且就计算机操作系统而言,条形码阅读器是键盘。

许多读者可以进入几种不同的模式。如果我想要比模拟键盘模式更多的灵活性,我选择RS232(串行)。我使用的Datalogic和Honeywell扫描仪支持RS232,但我相信大多数扫描仪都可以。

只需使用System.IO.Ports.SerialPort对象捕获从扫描仪发送到计算机的数据。

答案 2 :(得分:0)

以下三个区分条形码扫描仪和数据输入键盘的条件。

  1. 条形码扫描器的数据在0.3秒内结束
  2. 条形码扫描器数据以“enter”字符结束。
  3. 条形码字符串长度大多为10个字符。
  4. 利用这些条件,您可以轻松地从条形码扫描仪中捕获条形码,并在适当的位置显示。 这些程序很简单,性能也很高。 大多数条形码识别软件程序成本高,速度和性能极差。