Vb.net 刷卡时未触发POS for.net MSR数据事件

Vb.net 刷卡时未触发POS for.net MSR数据事件,vb.net,point-of-sale,pos-for-.net,Vb.net,Point Of Sale,Pos For .net,我正在开发一个应用程序,它将读取信用卡号码,而无需在POS for.net中生成相同的按键。 我可以启用设备,但当我刷卡时,MSR_数据事件不会触发 编辑:我已完成以下代码: myMSR = myExplorer.CreateInstance(MsrDevice) myMSR.Open() myMSR.Claim(60000) myMSR.AutoDisable = True myMSR.DecodeData = True myMSR.TransmitSentinels = False myMS

我正在开发一个应用程序,它将读取信用卡号码,而无需在POS for.net中生成相同的按键。 我可以启用设备,但当我刷卡时,MSR_数据事件不会触发

编辑:我已完成以下代码:

myMSR = myExplorer.CreateInstance(MsrDevice)
myMSR.Open()
myMSR.Claim(60000)
myMSR.AutoDisable = True
myMSR.DecodeData = True
myMSR.TransmitSentinels = False
myMSR.DataEventEnabled = True
myMSR.DeviceEnabled = True
RemoveHandler myMSR.DataEvent, AddressOf myMSR_DataEvent
AddHandler myMSR.DataEvent, AddressOf myMSR_DataEvent
AddHandler myMSR.ErrorEvent, AddressOf myMSR_ErrorEvent

确保您正在调用device.Open、device.Claim,并将DataEventEnabled属性设置为true

        With Me.msrDevice
            .Open()
            .Claim(5000)

            .AutoDisable = True
            .DecodeData = True
            .TransmitSentinels = False
            .DataEventEnabled = True
            .DeviceEnabled = True

            AddHandler .DataEvent, AddressOf MSR_DataEvent
            AddHandler .ErrorEvent, AddressOf MSR_ErrorEvent
        End With

在事件处理程序myMSR_DataEvent集的末尾

myMSR.DataEventEnabled = True

我注意到,通过我的DataEvent函数,它将被设置为false,这就成功了。

嘿,Jaynesh,我正在处理一个类似的问题,遇到了这个条目,希望您现在已经解决了,但是当我们遇到类似的问题时,对我们有效的是以下内容请原谅以下内容不是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都具有许多通用功能


我希望它能帮助你,或者给下一个家伙另一个尝试的机会

您是否为您的设备安装了正确的服务对象对不起,已经6年没有使用它了-忘记这是否是一项要求,您是否配置了服务对象以针对该特定端口运行?似乎您可能需要使用PosDM或WMI执行一些操作--我很确定串行端口不是即插即用的。如果您使用的是Windows 7,您可能也需要升级…我不知道您是否仍然需要任何帮助,但如果您需要,我可能会帮助您。