【问题标题】:Pass values from two Barcode Scanners to two specific texboxes.将值从两个条形码扫描仪传递到两个特定的文本框。
【发布时间】:2018-09-21 19:36:42
【问题描述】:

我在 windowsform textbox1textbox2 中有两个文本框,我正在尝试使用两个条形码扫描仪将值发送到每个文本框。 如果我从 Barcode Scanner 1 扫描任何内容,它应该将值发送到 textbox 1无需点击!

如果我从 Barcode Scanner 2 扫描任何内容,它应该将值发送到 textbox 2无需点击!

有没有办法做到这一点?

【问题讨论】:

  • 许多条码阅读器允许配置前缀或后缀(或两者)符号与代码一起发送。如果您拥有的人支持这一点,您可以配置不同的附件来识别“正确的”。

标签: vb.net winforms barcode-scanner


【解决方案1】:

USB 条形码扫描仪使用 HID 或人机接口设备。通常,这些是人类用来直接控制计算机系统操作的设备。

Microsoft 提供了这项技术的完整细分,我希望我可以上传 PDF。我讨厌发布网址,因为它们可能会过时; https://docs.microsoft.com/en-us/windows-hardware/drivers/hid/introduction-to-hid-concepts

您可以研究一些 API,可以在上面找到,我会调查这些:

设备发现和设置 以下列表标识了应用程序可用于:标识 HID 设备的属性以及与该设备建立通信的 HID API。此外,应用程序可以使用其中一些 API 来识别顶级集合。

HidD_GetAttributes

HidD_GetHidGuid

HidD_GetIndexedString

HidD_GetManufacturerString

HidD_GetPhysicalDescriptor

HidD_GetPreparsedData

HidD_GetProductString

HidD_GetSerialNumberString

HidD_GetNumInputBuffers

HidD_SetNumInputBuffers

数据移动 以下列表标识了应用程序可用于在应用程序和选定设备之间来回移动数据的 HID API。

HidD_GetInputReport

HidD_SetFeature

HidD_SetOutputReport

读取文件

写文件

另一种方法是查看条形码扫描仪是否可以模拟串行端口。这将通过 comm 端口表示哪个扫描仪是哪个扫描仪。

【讨论】:

    【解决方案2】:

    对于这种用途,有 POS for .NET 或 OPOS。
    两者都是 UnifiedPOS 的一部分。
    Document -- retail/17-07-32 (UnifiedPOS Retail Peripheral Architecture, Version 1.14.1)

    这里有资料和下载。
    POS for .NET v1.14.1 SDK Documentation
    Download Microsoft Point of Service for .NET v1.14.1 (POS for.NET)

    OPOS
    CCO Current Version

    由于实际控制扫描仪的程序是扫描仪厂商提供的,所以你会得到它。

    使用它们,您需要为每个单独的扫描仪创建控制对象。

    哪个对象负责哪个扫描仪由 Open 方法的 DeviceName 参数指定。 DeviceName 通过配置文件或注册表数据与 USB VID/PID 或连接的 COM 端口相关联。

    可以通过在该对象上处理 Open、Claim、DeviceEnabled=true、DataEventEnabled=true 从扫描仪读取条形码。

    DataEvent 通知对象条形码已被读取。

    应用程序可以为每个对象注册一个单独的事件处理程序,或者通过注册相同的事件处理程序并确定事件通知的发送者参数,可以识别条形码是从哪个扫描仪读取的。

    应用程序可以从相应对象的属性中读取条形码数据,并将其写入相应的TextBox中。

    【讨论】:

      猜你喜欢
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-18
      • 2017-06-22
      相关资源
      最近更新 更多