我正在使用Visual Basic 2019,我需要将条形码扫描仪用作HID设备,而不是键盘楔。是否可以将诸如RS-232串行端口控件之类的表单控件添加到表单中,并在事件处理例程中放置代码以处理接收到的数据?
我不是这个特定领域的专家,但是我确实找到了一些对您有帮助的课程:
Windows.Devices.HumanInterfaceDevice.HidDevice
和
Windows.Devices.HumanInterfaceDevice.HidDevice
msdn页面上有说明和示例。您应该能够创建这些类之一的实例,并使用它与您的硬件进行通信。
您可以在工具箱中找到一个System.IO.Ports.SerialPort
控件。您还需要在表单中包括System.IO.Ports.SerialPort
。
然后只需要使用以下调用配置端口:
SerialPort
最后,您读取类似以下内容的字节:
Imports System.IO.Ports
当然,您将需要循环读取字节并知道何时停止(假设您必须将它们读取为字节,并且不具备发送分隔字符串的扫描程序的奢侈。
棘手的部分是,如果您必须使用不可打印的字符来控制扫描仪。我通过使像这样的一些常数来做到这一点:
SerialPortScanner.BaudRate = "19200"
SerialPortScanner.ReadTimeout = 5000
SerialPortScanner.DataBits = 8
SerialPortScanner.Parity = Parity.None
SerialPortScanner.Open()
SerialPortScanner.DiscardOutBuffer() 'start fresh
SerialPortScanner.DiscardInBuffer()
然后您可以像这样写出字节:
CharBuff = SerialPortHCT.ReadByte()
还有其他设置和控件,但这是基础。