通过SN16.dll API为Symbol条码扫描器DS4208捕获图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过SN16.dll API为Symbol条码扫描器DS4208捕获图像相关的知识,希望对你有一定的参考价值。

我想通过SNAPI API从Symbol(当前为Zebra)条形码扫描仪,型号为DS4208(我们也使用Zebra的另一个但兼容的型号)中捕获图像。条形码捕获/识别效果很好,但是看起来SnapiDLL.SNAPI_SnapShot(hScanner)调用无法正常工作:根本没有收到WM_XFERSTATUS消息。这是小的简化代码段:

// Set image format
short[] parms = new short[2] { (short)SnapiParamIds.ImageFileType, (short)SnapiImageTypes.Jpeg };
var retCode = SnapiDLL.SNAPI_SetParameters(parms, 2, _devHandles[0]);
Debug.WriteLine($"SNAPI_SetParameters retCode={retCode}");
Application.DoEvents();
Thread.Sleep(50);

retCode = SnapiDLL.SNAPI_SnapShot(_devHandles[0]);
Debug.WriteLine($"SNAPI_SnapShot retCode={retCode}");
Application.DoEvents();
Thread.Sleep(50);

retCode = SnapiDLL.SNAPI_PullTrigger(_devHandles[0]);
Debug.WriteLine($"SNAPI_PullTrigger retCode={retCode}");
Application.DoEvents();
Thread.Sleep(50);

返回码始终为0(即无错误),但是我的消息处理程序未收到任何WM_XFERSTATUS消息。

P.S。使用CoreScanner驱动程序和OCX的Zebra SDK的C#应用​​程序运行良好,并且能够捕获图像和视频。但是出于某些原因,我想避免安装CoreScanner驱动程序;小而简单的条形码扫描器SNAPI.dll可以很好地工作,我希望它也可以用于图像捕获-可能是我做错了...

P.P.S。伙计们,如果您有没有使用符号条码扫描器和SNAPI的经验无法提供有用的代码段,请不要评论

我想通过SNAPI API从Symbol(当前为Zebra)条形码扫描仪,型号为DS4208(我们也使用Zebra的另一个但兼容的型号)中捕获图像。条形码捕获/识别工作...

答案

[联系Zebra技术支持(他们是Symbol / Motorola条形码扫描仪业务的继承者)后,我发现SNAPI.dll中的x64操作系统的图像/视频功能已损坏(但是大多数其他API调用均正常工作)。不幸的是,Zebra不再支持SNAPI,我应该使用Zebra的CoreScanner API。好消息是:此API可以正常运行。这不是一个好消息:我应该使用Zebra的其他安装包。

以上是关于通过SN16.dll API为Symbol条码扫描器DS4208捕获图像的主要内容,如果未能解决你的问题,请参考以下文章

Symbol Pocket Browser 和解码 FNC1 字符

Module API

Module API

kali之nmap

__rpm.so: underfined symbol : rpmpkgverifySigs 故障分析

(Java)intellij报错 Cannot resolve symbol 'request'