Привет, в настоящее время я пишу программу, в которой я хочу использовать сканер штрих-кода для сканирования штрих-кода в систему, а затем использовать информацию для принятия определенных решений. Мой первый вопрос: как заставить C# реагировать, когда я использую сканер штрих-кода, и, во-вторых, какие библиотеки DLL или API мне нужны для использования считывателя штрих-кода. Я впервые пробую это, поэтому любая помощь будет оценена по достоинству.
Я могу создавать штрих-коды, но знаю, что нужен способ для C# читать их извне и импортировать в программу.
Есть ли какие-то специальные ссылки в моей программе, или я могу просто подключить сканер штрих-кода к моему ноутбуку? извините за многие вопросы, просто хочу убедиться, что у меня есть все, что мне нужно
вам даже не нужна ссылка или api, если сканер подключен к ноутбуку или любому другому устройству, он будет работать автоматически.
Сканер должен действовать как клавиатура (набирающая скан-код). См. stackoverflow.com/questions/615036/…
Штрих-коды Обычно представляют собой что-то, например UPC / GTIN / EAN и т. д., Конец дня которых представляет собой буквенно-цифровые данные. В таких случаях считайте сканер «неким устройством ввода» (во многом похожим на клавиатуру). Итак, как указано выше, если это текстовое поле, текстовый файл и т. д., Он будет «вводить» в него данные.





Если он правильно подключен к вашему устройству, он будет автоматически передавать данные на ваш Focused itembox в вашей программе. Поэтому, если вы запустите свой program.exe, который имеет текстовое поле, при сканировании штрих-кода он будет проанализирован в этом текстовом поле. (это должно быть сфокусировано).
@RichardTeunen, было бы здорово, если бы вы установили мой ответ как правильный, если бы он ответил на ваш вопрос правильно :)
Не работает, если сканер настроен не на эмуляцию клавиатуры, а на работу с COM-портом.
Используйте класс 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
Ричард,
Важно знать, что обычно сканеры штрих-кода поддерживают несколько интерфейсов, которые делятся на две категории. У многих есть опция, которая заставляет сканер штрих-кода отображаться как клавиатуру, и всякий раз, когда вы сканируете данные, текст вводится в ваше приложение в точке вставки. Производитель сканера может называть это клавиатурой, клавиатурой, клавиатурой HID или просто режимом HID, однако последний в этом списке технически неточен, поскольку помимо клавиатуры существуют другие интерфейсы HID.
Вторая категория часто называется режимом приложения. Существует несколько различных интерфейсов, поддерживающих режим приложений, таких как IBM Scanner, HID POS Scanner и т. д. Каждый из этих интерфейсов соответствует определенной спецификации оборудования. Вы должны убедиться, что режим, в котором находится ваш сканер, соответствует SDK, который вы используете для взаимодействия со сканером.
Если вы используете .NET Framework, вы можете найти POS для .NET полезным, поскольку он отделяет сканер штрих-кодов от программного обеспечения таким образом, чтобы вы могли использовать сканеры от нескольких производителей без изменений в вашем приложении. В этом случае вам необходимо получить объект службы OPOS у производителя сканера для использования с POS for .NET. См. Страницу загрузки POS для .NET 1.14.1 для получения дополнительной информации: https://www.microsoft.com/en-us/download/details.aspx?id=55758
Терри Уорвик Microsoft
Это также зависит от формы вашего заявления. Если у вас есть возможность загрузить изображение или получить доступ к камере, вы можете вставить изображение в свой код, а затем использовать один из многих SDK для считывания штрих-кода с изображения.
Я только что реализовал это с помощью веб-приложения, и я использовал ZXing SDK, который является бесплатным портом для .Net и доступен через NuGet.
Если вы только начинаете, образцы в SDK - лучшее место для начала.
Приложения UWP для обработки штрих-кода лучше всего объясняются в универсальных примерах -> https://github.com/microsoft/Windows-universal-samples/tree/master/Samples/BarcodeScanner
Образец Win32 C# .net можно найти в упомянутом ранее SDK Pos For .Net 1.14.
Большинство сканеров штрих-кода являются «HID» устройствами, что означает, что они записывают данные штрих-кода (маленькие числа), как если бы вы делали это вручную с помощью клавиатуры, они также распознаются как клавиатура большинством операционных систем. Итак, самый простой способ - просто создать текстовое поле. Перед сканированием убедитесь, что фокус автоматически находится в текстовом поле, и, если вы хотите, чтобы оно выполнялось автоматически, убедитесь, что у вас есть событие, прослушивающее нажатие клавиши ввода. (Большинство сканеров HID нажимают клавишу ввода сразу после завершения сканирования.)
Сканер штрих-кода отправляет ключи, когда обнаруживает штрих-код, так же, как и QR-сканеры. Все, что вам нужно, это просто поместить фокус в текстовое поле и использовать некоторые события, такие как изменение текста или нажатие / нажатие клавиши, поскольку у большинства сканеров есть возможность добавлять / удалять новую строку в конце каждого набора клавиш, который он возвращает.
сканер штрих-кода автоматически передает данные в вашу программу, когда вы сканируете штрих-код, поэтому, если есть текстовое поле, при его сканировании штрих-код будет проанализирован в это текстовое поле.