0

大家好,我尝试申请价格检查商品,我正在使用这个设备

名称:摩托罗拉类型:符号 HOLTSVILLE NY 11742 P/N:MK500

我用visual studio 2005(.Net 2.0)创建了一个智能设备应用程序,我的代码是

private Symbol.Barcode.Reader MyReader = null;
private Symbol.Barcode.ReaderData MyReaderData = null; 

private void Form1_Load(object sender, EventArgs e)
{
    MyReader = new Symbol.Barcode.Reader();
    MyReaderData =
    new Symbol.Barcode.ReaderData(Symbol.Barcode.ReaderDataTypes.Text,
    Symbol.Barcode.ReaderDataLengths.DefaultText);
    MyReader.ReadNotify += new EventHandler(MyReader_ReadNotify);
    MyReader.Actions.Enable();
    MyReader.Actions.Read(MyReaderData);
    return; 
}

private void Form1_Closing(object sender, CancelEventArgs e)
{
    MyReader.Actions.Flush();
    MyReader.Actions.Disable();
    MyReader.Dispose();
    MyReaderData.Dispose();
    return; 
}

private void MyReader_ReadNotify(object sender, EventArgs e)
{
    System.Windows.Forms.MessageBox.Show(MyReaderData.Text, "HelloScan");
    MyReader.Actions.Read(MyReaderData);
    return;
}     

但是当我开始部署我的应用程序时,条形码阅读器不起作用,我不知道为什么!

一切都很好,代码和引用都运行良好,并且设备中已经安装了其他演示应用程序,这个运行顺利,所以设备也很好,我不知道我能做什么?

请任何人都可以帮助我

4

2 回答 2

0

条码阅读器就像键盘一样工作。因此,您可以在所需窗口或任何其他控件(如文本框)中侦听 keydown 事件。请记住,条形码发送的最后一次击键是返回键。所以你可以区分键盘和条形码。

C# + USB 条码阅读器

希望有帮助

于 2013-11-14T08:02:59.773 回答
0

评论是正确的,应用程序在阅读之前应该有一个文本框。摩托罗拉 sdk 条码 sample1 文件中的一个具有 readnotify 功能:

public void SymbolReader_ReadNotify(object sender, EventArgs e)
            {
                Symbol.Barcode.ReaderData TheReaderData = Scanner.SymbolReader.GetNextReaderData();
                if (TheReaderData.Result == Symbol.Results.SUCCESS && (txtBarcode.Focused == true))
                {
                    if (txtBarcode.Focused == true)
                    {
                        txtBarcode.Text = TheReaderData.Text.ToString();
                       Scanner.SymbolReader.Actions.Read(Scanner.SymbolReaderData);
                        return;
                    }
                }
                Scanner.SymbolReader.Actions.Read(Scanner.SymbolReaderData);
            }
于 2013-11-14T07:32:16.963 回答