Низкоуровневые зацепки клавиатуры для проверки идентификатора исходного устройства - PullRequest
3 голосов
/ 21 сентября 2011

Я знаю, что уже есть хорошие статьи и вопросы по установке клавиатурных хуков, но мне интересно узнать, можно ли и как проверить идентификатор исходного устройства?

Идея состояла бы в том, чтобы игнорировать любые нажатия клавиш на основной клавиатуре, но перехватывать любые нажатия, поступающие со сканера штрих-кода (который, если вы не знали, претендует на то, чтобы быть клавиатурой, если речь идет об ОС).

Ответы [ 2 ]

1 голос
/ 21 сентября 2011

Необработанный ввод ( C # Пример ) может сделать это.

Я поиграл с этим кодом с помощью своего основного сканера штрих-кода с клавиатурой и клином и обнаружил, что для регистрации событий янеобходимо удалить фильтр if (rid.dwType == RIM_TYPEKEYBOARD || rid.dwType == RIM_TYPEHID), чтобы что-то нужно было настроить.

Если я снял ограничения, он успешно регистрировал ввод с клавиатуры и сканера и сообщал разные данные об устройстве для каждого.

1 голос
/ 21 сентября 2011

Отметьте статью . Похоже, это невозможно с помощью клавиатурных зацепок. Он использовал Raw Input API.

...