摩托罗拉MC3190条形码扫描仪未被触发

时间:2012-02-28 07:08:24

标签: windows-mobile windows-ce motorola-emdk compact-framework2.0

我想让我的摩托罗拉MC3190读取条形码。但遗憾的是,按下硬件扫描按钮后没有响应。我正在使用EMDK for .net 2.0版。

这是我的代码:

private void Form1_Load(object sender, EventArgs e)
        {
            // Get the first scanning device (Its named SCN1 in my device) 
            myDevice = Symbol.Barcode.Device.AvailableDevices[0];
            myReader = new Reader(myDevice);

            // Make sure the Code-128 decoder is enabled!
            myReader.Decoders.CODE128.Enabled = true;

            // Create an instance of reader
            myReaderData = new Symbol.Barcode.ReaderData(Symbol.Barcode.ReaderDataTypes.Text, Symbol.Barcode.ReaderDataLengths.MaximumLabel);

            // Set the event handler
            myReader.ReadNotify += new EventHandler(myReader_ReadNotify);

            // enable and get ready to read
            myReader.Actions.Enable();
            myReader.Actions.Read(myReaderData);
        }

在我的活动中,我只想尝试显示已解码的文本:

void myReader_ReadNotify(object sender, EventArgs e)
        {
            Symbol.Barcode.ReaderData nextReaderData = myReader.GetNextReaderData();
            this.listBox1.Items.Add(nextReaderData.Text);            
            switch (nextReaderData.Result)
            {
                case Symbol.Results.SUCCESS:
                    this.listBox1.Items.Add(nextReaderData.Text);
                    myReader.Actions.Read(myReaderData);
                    break;

                case Symbol.Results.CANCELED:
                    this.listBox1.Items.Add("Canceled!!");
                    break;

                default:
                    string sMsg = "Read Failed\n"
                    + "Result = "
                    + ((int)nextReaderData.Result).ToString("X8");
                    MessageBox.Show(sMsg, "ReadNotify");
                    break;
            }


        }

获取任何错误消息。同时,如果我列出可用的扫描设备,我就可以看到我的设备(SCN1)。触发硬件密钥需要做些什么特别的事情吗?

我们非常感谢您解决此问题的任何帮助/想法。谢谢!

4 个答案:

答案 0 :(得分:2)

有时,motorola单元安装了DataWedge应用程序。在使用EMDK时,它可以声称可以访问扫描仪并导致许多问题。确保已禁用或卸载它。

答案 1 :(得分:1)

在您的设备设置中,BarCode Reader是否已打开? (只是先把呐喊!因素排除在外)

在我们的设备中,我们只是将条形码阅读器视为任何其他形式的文本输入。

我的表单上有TextBox控件,客户(我们的员工)选择TextBox,将设备指向标签,然后扫描条形码。

我所做的就是阅读TextBox1.Text字段。

答案 2 :(得分:0)

我不太确定此设备是否为不同的硬件使用相同的COM端口。如果选择了COM端口以使用条形码扫描仪,请检入“设置”。在具有大量硬件的设备中,COM端口是共享的。

此外,如果您关闭应用程序并按黄色按钮,条形码光束是否显示?

设备是否支持您的条形码类型?

正如@ jp2code所说的基本功能,您可以使用DataWedge并以文本形式接收数据。

答案 3 :(得分:0)

myReader_ReadNotify功能中,在第4行之后和第5行(开关)之前放置此行:

myReader.Actions.Read(myReaderData);