【问题标题】:Read data from Bar Code Scanner in .net (C#) windows application! [closed]在 .net (C#) windows 应用程序中从条形码扫描仪读取数据! [关闭]
【发布时间】:2010-10-05 21:47:20
【问题描述】:

如何在 .net windows 应用程序中从条形码扫描仪读取数据?

有人可以给出要遵循的步骤顺序吗?我对此很陌生。

【问题讨论】:

  • 1) 购买条码扫描器。 2) 阅读手册。说真的,更具体一点可能有助于得到答案
  • 这有点苛刻 - 并非所有扫描仪都是相同的,因此了解它们的工作原理将有助于做出购买决定。

标签: c# barcode


【解决方案1】:

大多数现代条码扫描器就像键盘一样。

我之前用 C# 编写过用于扫描门票的代码 - 无需特殊技巧,只需确保输入焦点在合适的文本框中并扫描代码即可!

【讨论】:

  • 除此之外:有时您必须在条形码扫描仪中进行设置(参见手册如何操作),以便它正确读取代码。例如,如果我们不将扫描仪的语言设置为德语(默认:英语),一些特殊(非英语)字符在阅读后会被弄乱。
  • Alnitak,你能提供代码sn-p吗?
  • 您甚至可以在 Web 应用程序中使用它。只需将焦点设置到文本框并扫描条形码。代码将被写入文本框,就像用户手动输入代码一样。
  • 不需要密码,就像他们在键盘上输入条形码一样
  • 请注意,因为条形码扫描仪可能会在提交数据之前或之后提交其他信息(CR、LF、TAB、ENTER 等)。如果您购买了不错的条形码扫描仪,则可以通过扫描手册中的特殊设置条形码来指定这些内容(例如 Metrologic Voyager 扫描仪就是这种情况)。
【解决方案2】:

看看扫描仪插孔。

如果它看起来像这样:

,那么它是一个keyboard wedge 扫描仪。它就像一个键盘:只需在编辑字段中输入您的条形码。

如果它看起来像这样:

,这是一个serial port 扫描仪。

您需要创建System.IO.Ports.SerialPort 的实例并使用它与扫描仪进行通信。

如果它看起来像这样:


(来源:datapro.net

,这是一个USB 扫描仪。从程序员的角度来看,它可以是keyboard wedgeserial port 扫描仪。您需要查看手册,找出它并使用上述方法之一。

附:如果你把你的扫描仪模型贴在这里会更容易,真的。

【讨论】:

  • 这不一定是真的 - 我有一个 USB 键盘楔形扫描仪在工作...
  • 哈哈,他提出的两个案例都是真的。试图在这里找到 Quassnoi 不正确的地方。
  • 我听说过 USB kb 楔形扫描仪,但这里最流行的 Posiflex USB 扫描仪使用串行仿真。
【解决方案3】:

我现在使用连接到我的几个 winform(和 1 个控制台)应用程序的 Wasp USB WCS3905 条形码扫描仪,虽然没有注意到与其他品牌的 USB 扫描仪的差异。

当一个新的出现时,我总是测试的方式是启动记事本并从手头的所有东西上扫描大量代码;书籍、DVD、资产标签,但最重要的是我需要跟踪的库存。这将允许您可视化如何捕获数据。

根据我的经验,它们的行为就像用户在键盘上连续键入每个字符,然后按“Enter”键。

对于在文本框控件中扫描的每个字符(注意:不是完整的条形码),至少会触发以下事件:
按键
按键
已更改文本
上键

扫描结束时的 Enter 键可用于按下表单的 AcceptButton

可能应该注意的是,我只在配置了英式和美式英语的 Windows 系统上使用了这些。

G-

【讨论】:

  • +1 真的不知道为什么您没有收到更多的赞成票...您的答案是迄今为止对使用条形码扫描仪的新手最有用的答案。
【解决方案4】:

如果您使用的是键盘楔子,通常设备或楔子软件允许在键盘流中添加额外字符的前缀和/或后缀。

可以使用每个表单的键预览来“侦听”前缀和后缀字符 - 当截取类似于条形码的内容时,可以将条形码文本发送到正确的编辑框或用于弹出对话框。

如果您要设置自己的编码系统,则根据条码类型,您还可以在条码中嵌入特殊字符以识别正在扫描的内容,例如以 SB^ 开头的扫描将表示对库存箱的扫描。

使用键盘楔时,通常无法确定正在扫描的条形码类型 - 有时格式可以方便地确定内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多