LS2208扫描仪是插入的,我尝试了下面列出的扫描模式,通过阅读我在手册中找到的条形码。在"USB键盘“和"OPOS (IBM手持式完全禁用)”模式下,我可以用扫描仪将条形码读入文本文档。
USB HID键盘
IMB桌面USB
IBM手持USB
OPOS (IBM手持式完全禁用)
简单COM端口仿真
explorer = new PosExplorer();
scannerList = new ArrayList(explorer.GetDevices("Scanner"));我在列表中看到的只有两个扫描器,它们总是可见的,即使计算机上没有插入任何东西:
{服务对象名称: Microsoft模拟器,描述:用于扫描仪的模拟服务对象,制造商: Microsoft公司,类型:扫描仪,服务对象版本: 1.14.1.0,UPOS版本: 1.14,兼容性: CompatibilityLevel1,硬件描述:,硬件Id:,硬件路径:,默认值: False}
{服务对象名称:示例扫描程序,逻辑名称:,描述:服务对象--例如扫描仪、制造商: Microsoft公司、类型:扫描仪、服务对象版本: 1.14.1.0、UPOS版本: 1.14、兼容性: CompatibilityLevel1、硬件描述:、硬件Id:、硬件路径:默认: False}
尝试连接其中任何一个都会引发一个异常:“在调用Open()之前,'DevicePath‘属性的值必须由服务对象定义。”
我假设“简单COM端口仿真”模式将模拟串口输入,但扫描仪也没有出现在串口列表中。
System.IO.Ports.SerialPort.GetPortNames();发布于 2020-07-20 13:19:35
你对不同的用法感到困惑。
PointOfService标签
这主要属于UWP中所使用的API,需要设置硬件模式来使用这种方法。
LS2208可能不支持这种模式。
支持DS2208。
Windows.Devices.PointOfService命名空间
服务外设支持点scannerList = new ArrayList(explorer.GetDevices("Scanner"));
您试图使用的软件是面向.NET的POS。
LS2208支持OPOS/JPOS,但不直接支持POS for.NET。
符号LS2208通用条形码扫描器支持
但是,您可以通过遗留互操作系统从POS为.NET使用OPOS。
用于.NET体系结构的POS (POS for .NET v1.12SDK文档)为此,需要采取以下步骤。
DeviceCompatibilities.Opos或DeviceCompatibilities.OposAndCompatibilityLevel1
PosExplorer.GetDevices方法(String,DeviceCompatibilities) ( .NET v1.12SDK文档的POS)
DeviceCompatibilities枚举(POS用于.NET v1.12SDK文档)例如,请参考本文了解如何使用。
这个问题没有得到解决,但是GetDevices()的使用是可以的。
https://stackoverflow.com/questions/62994014
复制相似问题