当我使用条形码扫描仪时,如何让 C# 做出反应?我需要某些 DLL 或 API 来使用条形码读取器吗?我可以创建条形码,但需要一种方法让 C# 外部读取并导入它们到程序。
Richard,
需要了解的是,通常条形码扫描器支持多种接口,分为两类。许多扫描器都有一个选项,使得条形码扫描器看起来像一个键盘,每当您扫描数据时,文本就会被输入到您的应用程序中的插入点。扫描仪制造商可能将其称为“键盘”、“键盘楔形设备”、“HID键盘”或简单地称为HID模式,但此列表中的最后一项在技术上不准确,因为除键盘外还有其他HID接口。
第二类通常称为应用程序模式。有几种不同的接口支持应用程序模式,例如IBM扫描仪、HID POS扫描仪等。每个接口都遵循特定的硬件规格。您必须确保您的扫描仪处于与您用于与扫描仪交互的SDK相匹配的模式。
如果您正在使用.NET Framework,则可以找到POS for .NET非常有用,它以一种将条形码扫描仪从软件中抽象出来的方式,使您能够在不更改应用程序的情况下使用来自多个制造商的扫描仪。在这种情况下,您需要从扫描仪制造商获取一个OPOS服务对象,以便在POS for .NET中使用。有关更多信息,请参见POS for .NET 1.14.1下载页面:https://www.microsoft.com/en-us/download/details.aspx?id=55758
Terry Warwick Microsoft
这也取决于您的应用程序采用哪种形式。如果您有上传图片或访问相机的选项,您可以将图像拉入代码中,然后使用众多SDK之一从图像中读取条形码。
我刚刚使用了一个Web应用程序来实现这个功能,我使用了ZXing SDK,这是一个免费的 .Net 端口,可通过NuGet获得。
Focused
项目框。因此,如果运行具有文本框的程序.exe,并扫描条形码,则该条形码将被解析到该文本框中(必须聚焦)。 while (spPort.BytesToRead > 0)
{
carac = (char)spPort.ReadByte();
if (carac != 08)
m_mystring += carac;
}
使用物理条形码扫描仪是一种选择,但您只能一次扫描一个条形码。
另一种选择是将多个文档(无论是图像还是PDF)传递给您的应用程序以进行批量处理。
IronBarcode是一个C#条形码扫描仪,可以让您以这种方式快速准确地读取条形码。
// The BarcodeResult.ReadBarcodesMultiThreaded method allows for faster barcode scanning of multiple images or PDFs.
// All threads are automatically managed by IronBarCode.
var ListOfDocuments = new[] { "Image1.PNG", "image2.JPG", "image3.PDF" };
PagedBarcodeResult[] BatchResults =
BarcodeReader.ReadBarcodesMultiThreaded(ListOfDocuments);
免责声明:我在 Iron Software 工作。
条码扫描器和二维码扫描器在检测到条码时会发送按键信号。 你只需要将焦点放在文本框中,并使用一些事件,如文本更改或按键/按下事件,因为大多数扫描仪都有一个选项,让你在每组返回的按键末尾添加/删除换行符。