0

我创建了一个观察者来连接BarcodeScanner使用Windows.Devices.PointOfService

var watcher = DeviceInformation.CreateWatcher(BarcodeScanner.GetDeviceSelector());
var id = "";
watcher.Added += async (sender, information) =>
{
    id = information.Id;
    var barcodeScanner = await BarcodeScanner.FromIdAsync(id);
    ...
}

信息参数包含与我的barcodeScanner相关的所有数据,但是当我尝试获取它时FromIdAsync始终为空。这些是包含在信息中的数据

-       information {Windows.Devices.Enumeration.DeviceInformation} Windows.Devices.Enumeration.DeviceInformation
        EnclosureLocation   null    Windows.Devices.Enumeration.EnclosureLocation
        Id  "\\\\?\\HID#VID_0536&PID_02E1&MI_01#c&d907bf5&0&0000#{c243ffbd-3afc-45e9-b3d3-2ba18bc7ebc5}\\POSBarcodeScanner" string
        IsDefault   false   bool
        IsEnabled   true    bool
        Kind    DeviceInterface Windows.Devices.Enumeration.DeviceInformationKind
        Name    "3800G" string
+       Pairing {Windows.Devices.Enumeration.DeviceInformationPairing}  Windows.Devices.Enumeration.DeviceInformationPairing
+       Properties  {System.__ComObject}    System.Collections.Generic.IReadOnlyDictionary<string, object> {System.__ComObject}
+       Native View 0x1d148140 <Information not available, no symbols loaded for Windows.Devices.Enumeration.dll>   IUnknown *

此设备被列为已启用,可通过 POS 访问。

我哪里错了?我还尝试在单击按钮后创建观察者,但没有任何变化。

4

2 回答 2

1

如果您使用的扫描仪型号名称如问题代码中所示为“3800G”,则可能不支持Windows.Devices.PointOfService

支持的型号列表如下。

支持的服务点外围设备

如果您想使用它Windows.Devices.PointOfService,请将其更改为此处描述的模型。


此外:

统一的 POS 标准和 Windows® Embedded for Point of Service 是 OPOS/POS for .NET/JavaPOS API。它不是 Windows.Devices.PointOfService API。

该型号未在霍尼韦尔网站上列出。

并且,日本的销售机构可能会显示为销售结束。应该是老款了。最好换一个新型号。


例如,USB HID 条形码扫描仪模式设置在1900 系列详细手册的第 21 页上进行了描述。

如果 3800G 手册中没有此模式设置说明,则不能在 3800G 上使用 Windows.Devices.PointOfService API。

如果可以设置的话,安装对应该模式的设备驱动就可以使用了。

于 2018-09-11T11:01:31.567 回答
0

@Luigi Saggese,

您必须首先将此扫描仪置于 USB HID 条形码扫描仪模式。请参阅Honeywell 3800g 用户指南的第 1-3 页,了解将扫描仪置于此模式的编程代码。

一旦扫描仪处于此模式,您应该会在 Windows 设备管理器中看到一个 POS 条形码扫描仪节点。特定扫描仪将在设备管理器中显示为 POS HID 条形码扫描仪,因为它使用支持 USB HID POS 扫描仪协议的内置类驱动程序。此时,它应该与您的 Watcher 一起使用。

特里·沃里克,微软

于 2018-09-14T13:43:52.080 回答