Обнаружен BarcodeScanner, но невозможно установить соединение с Windows.Devices.PointOfService - PullRequest
0 голосов
/ 11 сентября 2018

Я создал наблюдателя для подключения к 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.

Где я не прав? Я также пытался создать наблюдателя за нажатием кнопки, но изменения не изменились.

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

@ Луиджи Саггезе,

Сначала необходимо перевести этот сканер в режим сканера штрих-кода USB HID.Пожалуйста, см. Стр. 1-3 Руководства пользователя Honeywell 3800g для программного кода для перевода сканера в этот режим.

Когда сканер находится в этом режиме, вы должны увидеть POS-штрих-кодУзел сканера в диспетчере устройств Windows.Определенный сканер будет отображаться в Диспетчере устройств как POS HID Barcode Scanner, так как он использует встроенный драйвер класса, который поддерживает протокол USB HID POS Scanner.На данный момент он должен работать с вашим наблюдателем.

Терри Уорик, Microsoft

0 голосов
/ 11 сентября 2018

Если название модели используемого вами сканера - "3800G", как в коде вопроса, оно может не поддерживаться Windows.Devices.PointOfService.

Список поддерживаемых моделей приведен ниже.

Поддерживаемые периферийные устройства пунктов обслуживания

Если вы хотите использовать его с Windows.Devices.PointOfService, пожалуйста, измените его на модель, описанную в этом.


Кроме того:

Унифицированный стандарт POS и Windows® Embedded для точки обслуживания - это OPOS / POS для .NET/JavaPOS API.Это не Windows.Devices.PointOfService API.

Эта модель не указана на сайте Honeywell .

. И торговые агентства в Японии могут отображаться после завершения продаж.Вероятно, это старая модель.Лучше перейти на новую модель.


Например, настройка режима сканера штрих-кода USB HID описана на стр. 21 подробного руководства серии 1900 .

Если описание этого режима отсутствует в руководстве к 3800G, вы не можете использовать Windows.Devices.PointOfService API на 3800G.

Если вы можете установить его, вы сможете его использоватьесли вы устанавливаете драйвер устройства, соответствующий этому режиму.

...