Мое приложение (в C #) должно взаимодействовать со сканером штрих-кода USB, который в основном работает как клавиатура.Он вводит штрих-код с ключом ввода в конце.
Приложение должно работать даже в фоновом режиме, поэтому я использую низкоуровневую клавиатуру для получения и фильтрации штрих-кода в событиях глобальных клавиш.Эта часть уже работает.
Вот моя проблема: я не хочу, чтобы другие приложения получали ввод с клавиатуры (сканера), если это штрих-код.И нормальные ключевые события не должны вмешиваться.Одним словом, выборочно блокируйте ключевые события. Возможно ли это?
Мое приложение на C #, но у меня нет проблем с C ++ или более нативными решениями, если их легко интегрировать в C #.
Спасибо.
Дополнительная информация:
Вся идея работает на фоне, даже когда он не активен.Он отслеживает поток событий глобального ключа и определяет последовательность штрих-кодов (уже реализованную с помощью Hook).И самое главное, он не мешает нормальным событиям клавиатуры и работе других приложений.Вот почему я не могу заблокировать все ключевые события или сделать его самым верхним.
Я уже могу получить штрих-код.Мне нужно, чтобы другие приложения не могли получить штрих-код.