从条形码扫描仪(usb)获取应用程序中的数据

时间:2016-11-21 17:28:10

标签: c# winforms barcode-scanner

我有一个即插即用的条形码扫描仪。条形码扫描器在光标位置返回数据(作为HID设备)。可以从具有焦点的任何应用程序捕获数据。我的应用程序中没有文本框,因此无法将注意力集中在我的应用程序上,并且必须仅在我的应用程序中捕获数据(Windows窗体)。我不知道我应该从哪里开始。任何帮助都会有所帮助。

代码就像现在一样

DateTime lastKeystroke = new DateTime(0);
List<char> barcode = new List<char>(10);
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
    {
        // check timing (keystrokes within 100 ms)
        TimeSpan elapsed = (DateTime.Now - lastKeystroke);
        if (elapsed.TotalMilliseconds > 100)
            barcode.Clear();

        // record keystroke & timestamp
        barcode.Add(e.KeyChar);
        lastKeystroke = DateTime.Now;

        // process barcode
        if (e.KeyChar == 13 && _barcode.Count > 0)
        {
            string msg = new String(barcode.ToArray());
            MessageBox.Show(msg); //I get Value here
            barcode.Clear();
        }
    }

这很好用。但问题是当我的表格处于焦点时我得到的数据我可以使用它。但是当我的表单没有焦点时,意味着如果它被最小化或者其他应用程序被打开,我就不会得到数据

0 个答案:

没有答案