我正在制作一个健身房管理web应用程序,用于处理登录。会员在到达健身房时会扫描标签上的条形码。
我听说大多数条形码扫描仪只是一个键盘。这将要求扫描页面在扫描条形码时处于打开状态并处于前景中。
如果它只是一个键盘,我如何将条形码扫描器输入发送到计算机上运行的单个后台进程,并让所有可能处于焦点的进程忽略它?
发布于 2017-05-08 16:06:31
您说得对,大多数扫描器都可以支持键盘模拟中的HID,但这只是个开始。
如果您想对数据有更多的控制,您可以使用支持OPOS驱动程序模型的扫描器。
看一看Zebra's Windows SDK,了解一下您可以做的事情。这可能是一个更好的解决方案,而不是试图窃取条形码数据进入操作系统作为键盘输入到前台应用程序。
斑马科技免责声明:我在斑马科技工作
其他条形码扫描仪供应商支持类似的驱动程序模型。
发布于 2018-01-12 08:45:48
我发现了一个有趣的帖子,里面有一个简单的解决方案:
关于表单构造器
InitializeComponent():
this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Form1_KeyPress);处理程序和支持项目:
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();
}
}致词:@ltiong_sh
原文:Here
https://stackoverflow.com/questions/43834915
复制相似问题