首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在后台将条形码扫描到进程中?

是否可以在后台将条形码扫描到进程中?
EN

Stack Overflow用户
提问于 2017-05-08 02:06:47
回答 2查看 725关注 0票数 3

我正在制作一个健身房管理web应用程序,用于处理登录。会员在到达健身房时会扫描标签上的条形码。

我听说大多数条形码扫描仪只是一个键盘。这将要求扫描页面在扫描条形码时处于打开状态并处于前景中。

如果它只是一个键盘,我如何将条形码扫描器输入发送到计算机上运行的单个后台进程,并让所有可能处于焦点的进程忽略它?

EN

回答 2

Stack Overflow用户

发布于 2017-05-08 16:06:31

您说得对,大多数扫描器都可以支持键盘模拟中的HID,但这只是个开始。

如果您想对数据有更多的控制,您可以使用支持OPOS驱动程序模型的扫描器。

看一看Zebra's Windows SDK,了解一下您可以做的事情。这可能是一个更好的解决方案,而不是试图窃取条形码数据进入操作系统作为键盘输入到前台应用程序。

斑马科技免责声明:我在斑马科技工作

其他条形码扫描仪供应商支持类似的驱动程序模型。

票数 1
EN

Stack Overflow用户

发布于 2018-01-12 08:45:48

我发现了一个有趣的帖子,里面有一个简单的解决方案:

关于表单构造器

代码语言:javascript
复制
InitializeComponent():
this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Form1_KeyPress);

处理程序和支持项目:

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43834915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档