Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#条形码扫描仪_C#_Barcode - Fatal编程技术网

C#条形码扫描仪

C#条形码扫描仪,c#,barcode,C#,Barcode,您好,我目前正在编写一个程序,我希望使用条形码扫描仪将条形码扫描到系统中,然后使用信息做出某些决定。我的第一个问题是,当我使用条形码扫描仪时,如何让C#做出反应;其次,我需要哪些DLL或API才能使用条形码阅读器。这是我第一次尝试这样做,所以任何帮助将不胜感激 我可以创建条形码,但我知道c#需要一种从外部读取条形码并将其导入程序的方法只要它正确连接到您的设备,它会自动将数据传递到您程序中的聚焦的项框。因此,如果您运行带有文本框的program.exe,当您扫描条形码时,它将被解析到该文本框中(必

您好,我目前正在编写一个程序,我希望使用条形码扫描仪将条形码扫描到系统中,然后使用信息做出某些决定。我的第一个问题是,当我使用条形码扫描仪时,如何让C#做出反应;其次,我需要哪些DLL或API才能使用条形码阅读器。这是我第一次尝试这样做,所以任何帮助将不胜感激


我可以创建条形码,但我知道c#需要一种从外部读取条形码并将其导入程序的方法

只要它正确连接到您的设备,它会自动将数据传递到您程序中的
聚焦的
项框。因此,如果您运行带有文本框的program.exe,当您扫描条形码时,它将被解析到该文本框中(必须聚焦)。

使用SerialPort类。它可以监听您的端口,然后当您使用扫描时,程序将读取它

 while (spPort.BytesToRead > 0)
 {
     carac = (char)spPort.ReadByte();

     if (carac != 08)
         m_mystring += carac;
 }
下面是一个如何阅读的示例。这是课程的链接:

Richard

重要的是要知道,通常条形码扫描仪支持分为两类的多个接口。许多应用程序都有一个选项,使条形码扫描仪显示为键盘,每当您扫描数据时,文本都会在插入点输入到应用程序中。扫描仪制造商可能将其称为键盘、键盘楔块、HID键盘或简单的HID模式,但此列表中的最后一个在技术上并不准确,因为除键盘外还有其他HID接口

第二类通常称为应用程序模式。有几个不同的接口支持应用程序模式,如IBM Scanner、HID POS Scanner等。每个接口都代表一个特定的硬件规范。必须确保扫描仪所处的模式与用于与扫描仪交互的SDK相匹配

如果您使用的是.NET Framework,您可能会发现POS for.NET非常有用,因为它将条形码扫描仪从软件中抽象出来,允许您使用多个制造商的扫描仪,而无需更改应用程序。在这种情况下,您需要从扫描仪制造商处获取OPOS服务对象,以便与POS for.NET一起使用。有关更多信息,请参见POS for.NET 1.14.1下载页面:

特里·沃里克
Microsoft

这还取决于应用程序采用的格式。如果您可以选择上传图片或访问相机,则可以将图像拉入代码中,然后使用多个SDK之一从图像中读取条形码

我刚刚用一个web应用程序实现了这一点,我使用了ZXing SDK,它是到.Net的一个免费端口,可以通过NuGet获得


如果您刚刚起步,SDK中的样本是最好的起步点

处理条形码的UWP应用程序在-->

Win32 C#.net示例可以在前面提到的Pos For.net 1.14 SDK中找到。

大多数条形码扫描仪都是“隐藏”设备,这意味着它们写入条形码数据(小数字),就像您用键盘手动操作一样,它们也被大多数操作系统识别为键盘。
所以最简单的方法就是有一个文本框。确保扫描前焦点自动聚焦在文本框上,如果希望它自动执行某些操作,请确保有一个事件侦听enter键。(大多数HID扫描仪在扫描完成后立即按enter键。)

条形码扫描仪在检测到条形码时会发送钥匙,QR扫描仪也会发送钥匙。
您只需将焦点放在文本框中,并使用一些事件,如文本更改或按键/向下键,因为大多数扫描仪都有一个选项可供您在返回的每组键的末尾添加/删除换行符。

当您扫描条形码时,条形码扫描仪会自动将数据传递给您的程序,因此如果有文本框,当你扫描它时,条形码会被解析到那个文本框中。我的程序中有什么特殊的参考资料吗?或者我可以简单地将条形码扫描仪插入我的笔记本电脑吗?抱歉问了这么多问题,我只是想确保我拥有所需的一切您甚至不需要任何参考或api,如果扫描仪连接到笔记本电脑或任何其他设备,它将自动工作。扫描仪应该像键盘一样工作(键入扫描代码)。请参阅典型的条形码代表的东西,可能是UPC/GTIN/EAN等,一天结束时是字母数字数据。在这种情况下,可以将扫描仪视为“某种输入设备”(很像键盘)。因此,如上所述,如果它是一个文本框、文本文件等,它将“键入”数据。@RichardTeunen如果我的答案回答正确,将我的答案设置为正确,那就太好了:)