【发布时间】: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