C# + USB 条码阅读器

标签 c# barcode

如何在我的 C# 应用中读取后台的条形码文本?我用谷歌搜索但没有用。 stackoverflow 上的其他资源并不接近我需要的资源。我想在后台阅读条形码。我想知道数据是来自条形码还是键盘。如果数据来自条形码,则即使文本框高亮显示,也不能显示在文本框上。我得到了类似的 stackoverflow 代码,但是如果窗口中存在文本框,那么文本框将包含条形码数据;我不想要。 链接:get barcode reader value form background monitoring

    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);
            _barcode.Clear();
        }
    }

最佳答案

大多数条码扫描器只是充当键盘输入,一个快速/简单的解决方法是放置一个文本框“看不见”。一个例子是这样的:

// Pseudo code (could be Web, Windows etc)
public void Form1_Load()
{
    txtBarcodeScanner.Top = -10000;
    txtBarcodeScanner.Left = -10000;
    txtBarcodeScanner.Width = 10;
    txtBarcodeScanner.Height = 10;
    txtBarcodeScanner.Focus();
}

这样,输入可以被 txtBarcodeScanner 捕获,但不可见,条形码也不会被捕获,但会触发 KeyDown 等。

关于C# + USB 条码阅读器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17475210/

相关文章:

c# - 如何在 ILNumerics 中钳位数组数据

c# - 条形码(代码 128)字体有问题无法扫描

android - 如何更改 ZXingScannerView 默认外观?

c++ - Qt4中的条形码生成

C# 抽象属性可以在构造函数中初始化但之后只读?

c# - 将 XML 转换为格式化文本小瓶 XSLT

c# - WPF - 将数据从 DAL 传递到 UI

c# - Silverlight/.net 的条码阅读器组件、资源、推荐、动物之森?天啊

Android 条形码扫描仪 - zxing 的替代品?

c# - ASP.NET MVC 自定义 Controller 目录