您好,我当前正在编写一个程序,我希望使用条形码扫描仪将条形码扫描到系统中,然后使用该信息做出某些决定。我的第一个问题是,当我使用条形码扫描仪时,如何使C#做出反应;其次,我需要能够使用条形码读取器的DLL或API。这是我第一次尝试,希望能为您提供任何帮助
我可以创建条形码,但知道c#需要一种从外部读取条形码并将其导入程序的方法
答案 0 :(得分:2)
理查德
重要的是要知道,条形码扫描仪通常支持分为两类的多个接口。许多工具都具有使条形码扫描仪显示为键盘的选项,并且每当您扫描数据时,都会在插入点将文本输入到应用程序中。扫描仪的制造商可能将其称为“键盘”,“键盘楔”,“ HID键盘”或简称为“ HID模式”,但是从技术上讲,此列表中的最后一个不准确,因为除键盘外还有其他HID接口。
第二类通常称为应用程序模式。有几种支持应用程序模式的不同接口,例如IBM Scanner,HID POS Scanner等。每个接口代表遵循特定的硬件规范。您必须确保扫描仪所处的模式与您用来与扫描仪进行交互的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
特里·沃威克 微软
答案 1 :(得分:1)
只要已正确连接到设备,它将自动将数据传递到程序中的Focused
项框中。因此,如果您运行带有文本框的program.exe,则在扫描条形码时,它将被解析到该文本框中(必须集中显示)。
答案 2 :(得分:1)
如果您刚入门,则SDK中的示例是入门的最佳位置。
用于处理条形码的UWP应用最好在-> https://github.com/microsoft/Windows-universal-samples/tree/master/Samples/BarcodeScanner
的通用示例中进行解释。在前面提到的Pos For .Net 1.14 SDK中可以找到Win32 C#.net示例。
答案 3 :(得分:1)
大多数条码扫描器都是“HID”设备,这意味着它们会像您使用键盘手动操作一样写入条码数据(小数字),大多数操作系统也将它们识别为键盘。 所以最简单的方法就是有一个文本框。确保在扫描之前焦点自动在文本框上,如果您希望它自动执行某些操作,请确保有一个事件侦听输入 keydown。 (大多数 HID 扫描仪在扫描完成后立即按 Enter。)
答案 4 :(得分:0)
使用类SerialPort。它可以监听您的端口,然后当您使用扫描程序时,它将读取它。
while (spPort.BytesToRead > 0)
{
carac = (char)spPort.ReadByte();
if (carac != 08)
m_mystring += carac;
}
这里是如何阅读的示例。这是到类的链接:https://msdn.microsoft.com/en-us/library/system.io.ports.serialport(v=vs.110).aspx
答案 5 :(得分:0)
这还取决于您的应用程序采用哪种形式。如果您可以选择上传图片或访问相机,则可以将图像拖入代码中,然后使用许多SDK之一从图像中读取条形码。
我刚刚使用Web应用程序实现了这一点,我使用了ZXing SDK,它是.Net的免费端口,可通过NuGet获得。
答案 6 :(得分:0)
条码扫描器在检测到条码时会发送密钥,与 QR 扫描器相同。 您所需要的只是将焦点放在文本框中并使用一些事件,如文本更改或按键/按键按下,因为大多数扫描仪都有一个选项供您在它返回的每组键的末尾添加/删除换行符。>