如何在 C# 应用程序的后台读取条形码文本?我用谷歌搜索,但它没有用。而stackoverflow上的其他资源并不接近我需要的。我想在后台读取条形码。我想知道数据是来自条形码还是键盘。如果数据来自条形码,那么即使文本框被突出显示,它也不能显示在文本框上。我得到了 stackoverflow 的类似代码,但如果窗口中存在文本框,则文本框将包含条形码数据;我不想要。链接:后台监控获取条码阅读器值
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();
}
}