Захват изображения через SNAPI.dll API для сканера штрих-кода Symbol DS4208 - PullRequest
0 голосов
/ 25 октября 2019

Я хочу захватить изображение через 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 сообщение, полученное моим обработчиком сообщений.

PSПриложение C # из Zebra SDK, использующее драйвер CoreScanner и OCX, работает нормально и может захватывать изображения и видео. Но я бы хотел избежать установки драйвера CoreScanner по некоторым причинам;для сканирования штрих-кода маленький и простой SNAPI.dll работает довольно хорошо, и я ожидаю, что он будет работать и для захвата изображений - возможно, я делаю что-то не так ...

PPS Ребята, пожалуйста DOНЕ комментируйте , если у вас нет опыта работы со сканерами штрих-кодов и SNAPI , и не может предоставить рабочий фрагмент!

1 Ответ

0 голосов
/ 29 октября 2019

Обратившись в службу технической поддержки Zebra (они являются преемниками бизнеса сканеров штрих-кодов Symbol / Motorola), я выяснил, что в SNAPI.dll нарушена функциональность обработки изображений и видео для ОС x64 (но большинство остальных вызовов API работаютдолжным образом). К сожалению, SNAPI больше не поддерживается Zebra, и мне следует использовать Zebra CoreScanner API. Хорошая новость: этот API работает нормально, как и должно быть. Не очень хорошая новость: я должен использовать дополнительный установочный пакет от Zebra.

...