Привет, Джейнш, я работал над похожей проблемой и натолкнулся на эту запись, надеюсь, ты уже разобрался с ней, но у нас сработало, когда у нас была похожая проблема, было следующее (прошу прощения за то, что C # не VB.NET):
var deviceInfo = this.PosExplorer.GetDevice(DeviceType.Scanner, deviceLogicalName);
this.device = (Scanner)this.PosExplorer.CreateInstance(deviceInfo);
this.device.Open();
this.device.Claim(1000);
this.device.DeviceEnabled = true;
this.device.DataEventEnabled = true;
this.device.DecodeData = true;
this.device.DataEvent += this.DeviceScanEvent;
this.device.ErrorEvent += this.DeviceErrorEvent;
Конечно, MSR был правильно настроен (как сканер) в конфигурации объекта службы POS.NET для машины, и логическое имя, указанное для устройства, передается в этот код в переменной «deviceLogicalName» в коде. образец.
Мы приводим MSR к типу сервисного объекта Scanner POS.NET, и это сработало для нас, поскольку событие свипирования MSR - это просто «сканирование», что также позволило нам создать базовый базовый класс, который имел много общего функциональность для сканеров и MSR, используемых в нашем приложении.
Надеюсь, это поможет вам или даст следующему парню еще одну возможность попробовать!