为什么我的扫描仪不在 PosExplorer.GetDevices() 列表中?

Why isn't my scanner in the PosExplorer.GetDevices() list?

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

USB HID 键盘

IMB Table 顶级 USB

IBM 手持 USB

OPOS(IBM 手持设备,完全禁用)

简单的 COM 端口仿真

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

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

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

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

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

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

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

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

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

例如,使用方法请参考这篇文章
问题没有解决,但是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#