2010-06-04 99 views
0

在一个小的.net C#应用程序我用LibUsbDotNet读取条码扫描仪的USB输出http://libusbdotnet.sourceforge.net/V2/Index.html。问题是我不知道如何将输出转换成我能读的东西。扫描仪设置为在每个条形码之后输出一个回报,所以我需要例如检测。我认为,输出结果是8位字节组。它可以作为键盘输入安装。那么,我与扫描仪输出有什么关系才能将它变成可读的?阅读(解码,转换)通过LibUsbDotNet在C#中的条码扫描仪输出

回答

0

我认为(还没有自己尝试过 - 但我已经在barcodescanners上工作过很长时间了)这个例子:http://libusbdotnet.sourceforge.net/V2/html/e61bb81e-108b-4f84-a77d-8ccdecebfa31.htm就是你正在寻找的例子。 条形码扫描仪通常会张贴“字符串”,然后是换行符/回车符(或两者),就像使用键盘输入代码后输入回车一样。

该示例在事件中使用Console.Write(Encoding.Default.GetString(e.Buffer, 0, e.Count));,将字符串发送到控制台。您不需要写入设备,只需阅读事件即可。

+0

嗨riffnl, 并感谢您的答案!这正是我试图从扫描仪读取数据的原因,基于这里的只读示例http://libusbdotnet.sourceforge.net/V2/html/9926451f-29bf-4fae-9233-f6467ed072c7.htm,但在控制台中我只看到垃圾。 – bfi 2010-06-04 08:43:19

+0

您可以配置此扫描仪以读取特定类型的代码吗? – riffnl 2010-06-04 08:44:52

+0

是的。从配置导: 解码器选择 EAN/UPC 代码128/EAN 128 代码39 代码32 库德巴 交错2/5 默认为EAN/UPC(附加元件关)。 – bfi 2010-06-04 09:14:09