【问题标题】:Why isn't my scanner in the PosExplorer.GetDevices() list?为什么我的扫描仪不在 PosExplorer.GetDevices() 列表中?
【发布时间】:2020-11-09 14:57:59
【问题描述】:

LS2208 扫描仪已插入,我通过阅读手册中的条形码尝试了下面列出的扫描仪模式。在“USB HID 键盘”和“OPOS(IBM 手持式完全禁用)”模式下,我可以使用扫描仪将条形码读取到文本文档中。

USB HID 键盘

IMB 台式 USB

IBM 手持 USB

OPOS(IBM 手持式完全禁用)

简单的 COM 端口模拟

explorer = new PosExplorer();
scannerList = new ArrayList(explorer.GetDevices("Scanner"));

我在列表中看到的只是两个扫描仪,即使没有插入计算机,它们也始终可见:

{ 服务对象名称:Microsoft 扫描仪模拟器, 描述:扫描仪的模拟服务对象, 制造商:微软公司, 类型:扫描仪, 服务对象版本:1.14.1.0, UPOS 版本:1.14, 兼容性:CompatibilityLevel1, 硬件说明:, 硬件 ID: , 硬件路径:, 默认值:假}

{服务对象名称:示例扫描器, 逻辑名称:, 描述:示例扫描仪的服务对象, 制造商:微软公司, 类型:扫描仪, 服务对象版本:1.14.1.0, UPOS 版本:1.14, 兼容性:CompatibilityLevel1, 硬件说明:, 硬件 ID: , 硬件路径:, 默认值:假}

尝试连接它们中的任何一个都会引发异常:“'DevicePath' 属性的值必须由服务对象定义,然后才能调用 Open()。”

我以为“Simple COM Port Emulation”模式会模拟串口输入,但扫描仪也没有出现在串口列表中。

System.IO.Ports.SerialPort.GetPortNames();

【问题讨论】:

  • 打开设备管理器。检查设备是否为黄色。还要检查正在使用的驱动程序。通常会安装默认的 Microsoft 串行驱动程序,并且您需要供应商驱动程序。

标签: c# barcode-scanner pointofservice


【解决方案1】:

您对不同类型的用法感到困惑。

为此,需要执行以下步骤。

例如,如何使用请参考这篇文章。
问题没有解决,但是GetDevices()的用法还可以。
Why does Honeywell POS4NET fire the same event for two different scanners?
pos explorer is not finding any device connected to the system in C#

【讨论】:

  • 感谢您的回答!我无法解决问题,但这可能只是我的无能。我们可能会使用物理串行端口而不是多个 POS 扫描仪。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多