перехват клавиатуры
Добавлено: 21 авг 2017, 10:08
Совсем не чайниковский вопрос, но в другие темы тоже не подходит.
На NI форуме начался какой-то бред, может у меня с английским что-то не то, так что попробую по-русски.
Задача: перехватить клавиатурный ввод в параллельном потоке.
Если надо подробности, то есть гравировальный станок, его родной софт трогать нельзя.
К станку подключён экран (=мышка) и сканер штрих-кодов (=клавиатура). Последний работает в режиме эмуляции клавы, т.е. он именно клавиатура, а не что-то в ком-порте.
Оператор ставит изделие в установку, сканирует штрих-код (он высвечивается на экране), нажимает кнопку «поехали» и всё.
Хочется перед запуском гравирования убедиться, что этот код есть в базе, т.е. изделие прошло тестирование. Если нет, вывести предупреждение, что гравировать не стоит. Каких-то супер блокировок не требуется.
Вариант распознавания символов с экрана возможен, но пока рассматривается как лёгкое извращение, с которым не стоит связываться (да и доп лицензии на вижн денег стоят).
Само собой всякие события и прочие стандартные методы не работают т.к. окно будет свёрнуто, и никаких событий в нём не произойдёт.
Нашёл вариант опроса клавиатуры, но он работает нестабильно. При большом периоде опроса символы теряются, при малом - дублируются, а обычно происходит и то и другое.
на скриншоте пример работы приложения в фоне, сам штрих-код вводится в блокнот.
Может, кто знает метод получения уникальных символов?
На NI форуме начался какой-то бред, может у меня с английским что-то не то, так что попробую по-русски.
Задача: перехватить клавиатурный ввод в параллельном потоке.
Если надо подробности, то есть гравировальный станок, его родной софт трогать нельзя.
К станку подключён экран (=мышка) и сканер штрих-кодов (=клавиатура). Последний работает в режиме эмуляции клавы, т.е. он именно клавиатура, а не что-то в ком-порте.
Оператор ставит изделие в установку, сканирует штрих-код (он высвечивается на экране), нажимает кнопку «поехали» и всё.
Хочется перед запуском гравирования убедиться, что этот код есть в базе, т.е. изделие прошло тестирование. Если нет, вывести предупреждение, что гравировать не стоит. Каких-то супер блокировок не требуется.
Вариант распознавания символов с экрана возможен, но пока рассматривается как лёгкое извращение, с которым не стоит связываться (да и доп лицензии на вижн денег стоят).
Само собой всякие события и прочие стандартные методы не работают т.к. окно будет свёрнуто, и никаких событий в нём не произойдёт.
Нашёл вариант опроса клавиатуры, но он работает нестабильно. При большом периоде опроса символы теряются, при малом - дублируются, а обычно происходит и то и другое.
на скриншоте пример работы приложения в фоне, сам штрих-код вводится в блокнот.
Может, кто знает метод получения уникальных символов?