Начало работы со сканерами штрихкодов на базе камеры
Приведенные здесь фрагменты кода используются только в демонстрационных целях. Рабочий пример см. в разделе Пример сканера штрихкодов.
Шаг 1. Добавление объявлений возможностей в манифест приложения
Возможность Веб-камера необходима, чтобы программный декодер получал кадры с камеры для декодирования, а также для обеспечения возможности предварительного просмотра из вашего приложения.
Шаг 2. Добавление директив using
Шаг 3. Определение средства выбора устройств
Вариант А. Поиск всех сканеров штрихкодов
Вариант Б. Ограничение области действия средства выбора по типу подключения
Шаг 4. Перечисление всех сканеров штрихкодов
Использование GetDefaultAsync для перечисления устройств PointOfService может привести к непредсказуемому поведению, так как этот просто возвращает первое найденное в классе устройство, которое может меняться от сеанса к сеансу.
Вариант А. Перечисление снимка сканеров штрихкодов
Подробнее об использовании FindAllAsync см. в статье Перечисление снимка устройств.
Вариант б. перечисление доступных сканеров штрихкодов и просмотр изменений доступных сканеров
Шаг 5. Идентификация сканеров штрихкодов на базе камер
Сканер штрихкодов на базе камеры создается динамически, когда Windows связывает камеру или камеры, подключенные к компьютеру, с программным декодером. Каждая пара «камера-декодер» представляет собой полнофункциональный сканер штрихкодов.
сканеры штрихкодов камеры с помощью декодера, поставляемого с Windows, определяются следующим образом:
Microsoft BarcodeScanner (название вашей камеры)
Если у вас есть несколько камер и они встроены в корпус компьютера, имя может различаться между фронтальной и задней камерами.
В будущем могут быть выпущены дополнительные программные декодеры с разными схемами именования.
При запуске Девицеватчер (шаг 4) он перебирается по каждому подключенному устройству. Здесь мы добавим доступные Сканеры в коллекцию сканеров штрихкодов и привяжите коллекцию к ListBox.
При изменении SelectedIndex элемента управления ListBox (первый элемент, выбранный по умолчанию в предыдущем фрагменте), запрашивает сведения об устройстве.
Шаг 6. Присвоение сканера штрихкодов на базе камеры
Используйте метод BarcodeScanner.ClaimScannerAsync для получения права на исключительное использование сканера штрихкодов на базе камеры.
Шаг 7: Предварительное изображение, предоставляемое системой
Предварительное изображение с камеры необходимо, чтобы пользователь мог успешно наводить камеру на штрихкоды. Windows предоставляет простой предварительный просмотр камеры, который запускает диалоговое окно для обычного управления сканером штрихкодов камеры. Просто вызовите метод ClaimedBarcodeScanner.ShowVideoPreview, чтобы открыть диалоговое окно, и метод ClaimedBarcodeScanner.HideVideoPreview, чтобы закрыть его после завершения.
О том, как разместить в своем приложении предварительное изображение со сканера штрихкодов на базе камеры, см. в статье Размещение предварительного изображения.
Шаг 8. Запуск сканирования
Запускать процесс сканирования можно путем вызова метода StartSoftwareTriggerAsync.
В зависимости от значения исдисабледондатарецеивед сканер может сканировать только один штрихкод, а затем останавливаться или сканировать непрерывно до вызова стопсофтваретригжерасинк.
Задайте одно из значений IsDisabledOnDataReceived, чтобы задать нужное поведение сканера при декодировании штрихкода.
Windows barcode preview что это
Баркод — это напечатанный ряд параллельных полос или линий различной ширины, который используется для ввода данных в компьютерную систему. Обычно это черные столбики на белом фоне, а их ширина и количество варьируются в зависимости от применения. Баркоды используются для представления двоичных цифр 0 и 1, последовательности которых в свою очередь могут представлять числа от 0 до 9 и обрабатываться цифровым компьютером. Наличие или отсутствие полосы определенной ширины в определенной позиции в последовательности считывается компьютером как 0 или 1. В большинстве таких кодов используются полосы только двух разных значений ширины (толстая и тонкая), хотя некоторые коды используют четыре уровня ширины.
Информация штрих-кода считывается оптическим лазерным сканером, который является частью компьютерной системы. Ручной сканер или ручка штрих-кода перемещаются по коду, или сам код перемещается вручную по сканеру, встроенному в кассу или другую поверхность. Затем компьютер сохраняет или сразу обрабатывает данные в штрих-коде. Штрих-коды, напечатанные в супермаркете, содержат универсальный код продукта, или UPC, который присваивает каждому типу продуктов питания уникальный код.
История
Штриховое кодирование было введено в 1970-х годах и в настоящее время является повсеместной частью обычных коммерческих транзакций. Продуктовые магазины используют баркоды, чтобы получить цену и другие данные о товаре в точке покупки потребителем. В супермаркете для идентификации товара по его штрих-коду используется сканер, а затем компьютер ищет цену товара и вводит это число в счет.
Основным преимуществом систем штрих-кодов является то, что они позволяют пользователям обрабатывать подробную информацию в момент сканирования штрих-кода, а не просто хранить информацию для последующей обработки. Например, горнолыжные курорты могут прикреплять коды к лыжникам и сканировать баркоды, когда лыжники входят в подъемники, тем самым позволяя курорту отслеживать схемы использования склонов. В настоящее время используются различные системы штрих-кодов для отслеживания широкого спектра продуктов. Эти продукты варьируются от обработанных пищевых и сухих товаров до лекарств и предметов медицинского назначения, автомобильных деталей, компьютерных комплектующих и даже библиотечных книг.
3 простых шага по исправлению ошибок CAMERABARCODESCANNERPREVIEW.EXE
В вашей системе запущено много процессов, которые потребляют ресурсы процессора и памяти. Некоторые из этих процессов, кажется, являются вредоносными файлами, атакующими ваш компьютер.
Чтобы исправить критические ошибки camerabarcodescannerpreview.exe,скачайте программу Asmwsoft PC Optimizer и установите ее на своем компьютере
1- Очистите мусорные файлы, чтобы исправить camerabarcodescannerpreview.exe, которое перестало работать из-за ошибки.
2- Очистите реестр, чтобы исправить camerabarcodescannerpreview.exe, которое перестало работать из-за ошибки.
3- Настройка Windows для исправления критических ошибок camerabarcodescannerpreview.exe:
Всего голосов ( 16 ), 8 говорят, что не будут удалять, а 8 говорят, что удалят его с компьютера.
Начало работы со сканерами штрихкодов на базе камеры Getting started with a camera barcode scanner
Приведенные здесь фрагменты кода используются только в демонстрационных целях. The snippets used here are for demonstration purposes only. Рабочий пример см. в разделе Пример сканера штрихкодов. For a working sample, see the Barcode scanner sample.
Шаг 1. Добавление объявлений возможностей в манифест приложения Step 1: Add capability declarations to your app manifest
Возможность Веб-камера необходима, чтобы программный декодер получал кадры с камеры для декодирования, а также для обеспечения возможности предварительного просмотра из вашего приложения. The Webcam capability is required to for the software decoder to receive frames from the camera to decode as well as to provide a preview from your application
Шаг 2. Добавление директив using Step 2: Add using directives
Шаг 3. Определение средства выбора устройств Step 3: Define your device selector
Вариант А. Поиск всех сканеров штрихкодов Option A: Find all barcode scanners
Вариант Б. Ограничение области действия средства выбора по типу подключения Option B: Scoping device selector to connection type
Шаг 4. Перечисление всех сканеров штрихкодов Step 4: Enumerate all barcode scanners
Использование GetDefaultAsync для перечисления устройств PointOfService может привести к непредсказуемому поведению, так как этот просто возвращает первое найденное в классе устройство, которое может меняться от сеанса к сеансу. Using GetDefaultAsync to enumerate PointOfService devices can result in inconsistent behavior as it simply returns the first device found in the class and this can change from session to session.
Вариант А. Перечисление снимка сканеров штрихкодов Option A: Enumerate a snapshot of barcode scanners
Подробнее об использовании FindAllAsync см. в статье Перечисление снимка устройств. See Enumerate a snapshot of devices for more information on using FindAllAsync.
Вариант б. перечисление доступных сканеров штрихкодов и просмотр изменений доступных сканеров Option B: Enumerate available barcode scanners and watch for changes to the available scanners
Шаг 5. Идентификация сканеров штрихкодов на базе камер Step 5: Identify camera barcode scanners
Сканер штрихкодов на базе камеры создается динамически, когда Windows связывает камеру или камеры, подключенные к компьютеру, с программным декодером. A camera barcode scanner is created dynamically as Windows pairs the camera(s) attached to your computer with a software decoder. Каждая пара «камера-декодер» представляет собой полнофункциональный сканер штрихкодов. Each camera — decoder pair is a fully functional barcode scanner.
Сканеры штрихкодов камеры с помощью декодера, поставляемого с Windows, определяются следующим образом: Camera barcode scanners using the decoder that ships with Windows are identified as:
Microsoft BarcodeScanner (название вашей камеры) Microsoft BarcodeScanner (name of your camera here)
Если у вас есть несколько камер и они встроены в корпус компьютера, имя может различаться между фронтальной и задней камерами. If you have more than one camera, and they are built into the chassis of your computer, the name might differentiate between front and rear cameras.
В будущем могут быть выпущены дополнительные программные декодеры с разными схемами именования. In the future, additional software decoders with different naming schemes might be released.
При запуске Девицеватчер (шаг 4) он перебирается по каждому подключенному устройству. When the DeviceWatcher starts (step 4), it enumerates through each connected device. Здесь мы добавим доступные Сканеры в коллекцию сканеров штрихкодов и привяжите коллекцию к ListBox. Here we add the available scanners to a barcode scanner collection and bind the collection to a ListBox.
При изменении SelectedIndex элемента управления ListBox (первый элемент, выбранный по умолчанию в предыдущем фрагменте), запрашивает сведения об устройстве. When the SelectedIndex of the ListBox changes (the first item is selected by default in the previous snippet), we query the device info.
Шаг 6. Присвоение сканера штрихкодов на базе камеры Step 6: Claim the camera barcode scanner
Используйте метод BarcodeScanner.ClaimScannerAsync для получения права на исключительное использование сканера штрихкодов на базе камеры. Use BarcodeScanner.ClaimScannerAsync to obtain exclusive use of the camera barcode scanner.
Шаг 7: Предварительное изображение, предоставляемое системой Step 7: System provided preview
Предварительное изображение с камеры необходимо, чтобы пользователь мог успешно наводить камеру на штрихкоды. A camera preview is needed for the user to successfully aim the camera at barcodes. Windows предоставляет простую предварительную версию камеры, которая запускает диалоговое окно для обычного управления сканером штрихкодов камеры. Windows provides a simple camera preview that launches a dialog for basic control of the camera barcode scanner. Просто вызовите метод ClaimedBarcodeScanner.ShowVideoPreview, чтобы открыть диалоговое окно, и метод ClaimedBarcodeScanner.HideVideoPreview, чтобы закрыть его после завершения. Simply call ClaimedBarcodeScanner.ShowVideoPreview to open the dialog and ClaimedBarcodeScanner.HideVideoPreview to close it when finished.
О том, как разместить в своем приложении предварительное изображение со сканера штрихкодов на базе камеры, см. в статье Размещение предварительного изображения. See Hosting Preview to host the preview for camera barcode scanner in your application.
Шаг 8. Запуск сканирования Step 8: Initiate scan
Запускать процесс сканирования можно путем вызова метода StartSoftwareTriggerAsync. You can initiate the scan process by calling StartSoftwareTriggerAsync.
В зависимости от значения исдисабледондатарецеивед сканер может сканировать только один штрихкод, а затем останавливаться или сканировать непрерывно до вызова стопсофтваретригжерасинк. Depending on the value of IsDisabledOnDataReceived the scanner might scan only one barcode then stop or scan continuously until you call StopSoftwareTriggerAsync.
Задайте одно из значений IsDisabledOnDataReceived, чтобы задать нужное поведение сканера при декодировании штрихкода. Set the desired value of IsDisabledOnDataReceived to control the scanner behavior when a barcode is decoded.
Сканер штрихкодов на базе камеры Camera barcode scanner
Сканер штрихкодов на базе камеры создается динамически, когда Windows связывает камеру или камеры, подключенные к компьютеру, с программным декодером. A camera barcode scanner is created dynamically as Windows pairs the camera(s) attached to your computer with a software decoder. Каждая пара «камера-декодер» представляет собой полнофункциональный сканер штрихкодов. Each camera — decoder pair is a fully functional barcode scanner.
Содержание раздела In this section
Раздел Topic | Описание Description |
---|---|
Требования к системе System Requirements | Список выпусков Windows, которые поддерживают сканеры штрихкодов на базе камеры, а также требования к камере для успешного считывания штрихкодов. List of Windows editions that support camera barcode scanner as well as camera requirements to successfully read barcodes. |
Начало работы Getting Started | Пошаговое руководство по началу использования камеры в качестве сканера штрихкодов. Step by step introduction to camera barcode scanner |
Предварительный просмотр Hosting Preview | Узнайте, как разместить в своем приложении предварительное изображение со сканера штрихкодов на базе камеры. Learn how to host the preview for camera barcode scanner in your application |
Включить или отключить Enable or Disable | Узнайте, как включить или отключить программный декодер, который входит в состав Windows 10. Learn how to enable or disable the default software decoder that ships with Windows 10 |
Поддерживаемые Симбологиес Supported Symbologies | В этом разделе приводятся образцы штрихкодов для каждого симбологиес, поддерживаемого декодером штрихкодов программного обеспечения, который поставляется с Windows 10, включая: UPC/EAN, код 39, код 128, чередующиеся 2 из 5, столбчатых всенаправленные, столбчатых с накоплением, QR-код и GS1DWCode. This topic provides sample barcodes for each of the symbologies supported by the software barcode decoder that ships with Windows 10, including: UPC/EAN, Code 39, Code 128, Interleaved 2 of 5, Databar Omnidirectional, Databar Stacked, QR Code and GS1DWCode. |
Программный декодер, встроенный в Windows 10, любезно предоставлен Digimarc Corporation. The software decoder built into Windows 10 is provided courtesy of Digimarc Corporation
Включение и отключение программного декодера, который входит в состав Windows
В Windows 10 версии 1803 программный декодер устанавливается и включается по умолчанию. Вы можете отключить встроенный в Windows программный декодер, если не хотите использовать сканер штрихкодов на базе камеры или если вы приобрели сторонний декодер, который работает с API-интерфейсами Windows.Devices.PointOfService.BarcodeScanner, и вам не нужно использовать оба типа сканеров.
Включение и отключение с помощью системного реестра
Программный декодер, который входит в состав Windows, можно включать и отключать с помощью системного реестра путем добавления раздела реестра InboxDecoder и HKLM\Software\Microsoft\PointOfService\BarcodeScanner и задания для него значения Включить, как показано ниже.
Имя значения | Тип значения | Значение | Состояние |
---|---|---|---|
Включить | DWORD | 1 (по умолчанию) 0 | Включает программный декодер, который входит в состав Windows Отключает программный декодер, который входит в состав Windows |
Ниже приведен пример файла реестра, который можно использовать для отключения встроенного в Windows программного декодера:
Этот пример файла реестра можно использовать для включения встроенного в Windows программного декодера:
При неправильном изменении реестра могут возникнуть серьезные проблемы. Для дополнительной защиты заархивируйте реестр перед внесением изменений. Это позволит восстановить реестр, если возникнут проблемы. Дополнительные сведения о резервном копировании и восстановлении реестра см. в следующей статье базы знаний Майкрософт:
322756 Резервное копирование и восстановление реестра Windows.
Программный декодер, встроенный в Windows 10, любезно предоставлен Digimarc Corporation.
Получение и распознавание данных штрихкода
Подпишитесь на событие получения
Получение данных
После получения баркодесканнеррепорт можно получить доступ к данным штрихкода и выполнить их анализ. Баркодесканнеррепорт имеет три свойства:
Если вы хотите получить доступ к скандаталабел или скандататипе, необходимо сначала задать для исдекодедатаенаблед значение true.
Получение типа данных проверки
Получение декодированного типа метки штрихкода довольно тривиально, — мы просто вызываем метод Name для скандататипе.
Получение метки данных для проверки
Получение необработанных данных сканирования
Эти данные в целом имеют формат, предоставленный сканером. Однако сведения о заголовках и трейлерах сообщений удаляются, так как они не содержат полезных сведений о приложении и, скорее всего, будут относиться к сканеру.
Общие сведения о заголовке — это префиксный символ (например, символ STX). Распространенные сведения о трейлере — это символ-признак конца (например, символ ЕТКС или CR) и символ проверки блока, если он создан сканером.
Это свойство должно содержать символ символикой, если он возвращается сканером (например, a для UPC-a). Он также должен включать контрольные цифры, если они есть в метке и возвращены сканером. (Обратите внимание, что в зависимости от конфигурации сканера могут присутствовать и символикой символы и контрольные цифры. Сканер вернет их при наличии, но не будет создавать или рассчитывать их, если они отсутствуют.)
Некоторые товары могут быть помечены дополнительным штрихкодом. Этот штрихкод обычно размещается справа от основного штрихкода и состоит из дополнительных двух или пяти символов информации. Если сканер считывает товары, содержащие как основной, так и дополнительный штрихкоды, дополнительные символы добавляются к основным символам, а результат доставляется в приложение в виде одной метки. (Обратите внимание, что сканер может поддерживать конфигурацию, которая включает или отключает чтение дополнительных кодов).
Некоторые товары могут быть помечены несколькими метками, иногда называемыми многосимволными метками или многоуровневые метки. Эти штрихкоды обычно располагаются вертикально и могут быть одного или разных символикой. Если сканер считывает рекламные материалы, содержащие несколько меток, каждый штрихкод передается в приложение в виде отдельной метки. Это необходимо из-за текущего отсутствия стандартизации этих типов штрихкодов. Один из них не способен определить все варианты на основе отдельных данных штрихкода. Таким образом, приложению необходимо определить, когда на основе возвращенных данных был считан штрих-код с несколькими метками. (Обратите внимание, что сканер может не поддерживать чтение нескольких меток.)
Это значение задается до возведения в приложение полученного события.
Поддержка и обратная связь
Получение ответов на вопросы
Помогите нам определить свои вопросы:
Настройка сканера штрихкодов
Настраивать сканеры штрихкодов можно в нескольких режимах. Очень важно, чтобы сканер штрихкодов был настроен в соответствии с его предполагаемым применением.
Многие сканеры штрихкодов могут быть настроены в режиме разрыва клавиатуры, в результате чего Windows воспринимает сканер штрихкодов как клавиатуру. Это позволяет сканировать штрихкоды в приложения, которые не предназначены непосредственно для работы со сканером штрихкодов, например в Блокнот. При сканировании штрихкода в этом режиме декодированные данные со сканера штрихкодов вставляются в точку вставки, как будто бы вы ввели эти данные с клавиатуры. Если вы хотите в большей степени контролировать сканер штрихкодов из своего приложения UWP, вам понадобится настроить его в другом режиме.
Сканер штрихкодов, подключаемый по USB
У производителя сканера штрихкодов также может быть собственный драйвер, который поддерживает API-интерфейсы для сканеров штрихкодов в UWP и использует другой режим (не Сканер POS HID). Если вы уже установили драйвер, совместимый с производителями API сканеров штрихкодов UWP, вы можете увидеть устройство, указанное в разделе сканер штрихкодов POS в Диспетчер устройств.
Сканер штрихкодов, подключаемый по Bluetooth
прежде чем использовать сканер Bluetooth штрихкодов, его необходимо связать с Параметры > устройствами > Bluetooth & других устройств > добавить Bluetooth или другое устройство.
Поддержка и обратная связь
Получение ответов на вопросы
Помогите нам определить свои вопросы: