Как стать автором
Обновить

Комментарии 4

А можно полностью перехватить ввод с устройства? Например, есть RFID reader (распознается как стандартное устройство ввода), который в конце прочитанной с носителя последовательности всегда отправляет Enter — хотелось бы полностью перехватить ввод не пропуская Enter дальше в систему и никто не должен получать ввод с этого устройства кроме моего приложения.
Есть такие способы. Но я бы их использовал только в случае острой необходимости.
  1. Можно попробовать комбинацию хуков и raw input API. Из приложения нужно поставить хуки на WH_CALLWNDPROC с помощью SetWindowsHookEx (HINSTANCE должно указывать на соответствующую разрядности dll-ку). Эти dll-ки грузятся во все процессы. В них при загрузке делается всё то, что я описывал в статье про работу с raw input. Там же выполняется разбор пользовательского ввода. Если это нужное сообщение, обрабатываем его сами. Вот тут можно глянуть про запрет ввода.
  2. Фильтр-драйвер.

А если подключить к одному компьютеру две или более мышей по USB, можно перехватить ввод от них всех и разделить, какие данные пришли от какой мыши?
Да, можно. Добавил обработку мышиных событий в тестовый проект на GitHub. Там можно посмотреть, как это сделать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий