Обработка ввода с клавиатуры

Следуя вопросу, заданному Майкрофтом

Лучший способ обрабатывать ввод с клавиатуры «клином»

Лучший способ обработки ввода с клавиатуры.

Мне нужно написать класс, который перехватывает нажатия клавиш, если определено, что ввод осуществляется с клавиатуры (как описано в сообщении выше), данные будут направлены в классы POS для обработки, в противном случае они должны быть переданы нажатиям клавиш. обрабатывается в окнах обычным образом. Это вызывает два вопроса

  1. Как я могу перехватывать нажатия клавиш, если не в WinForm.

  2. Как я могу передать нажатия клавиш в окна.

Спасибо, Джей Диббл.


person JDibble    schedule 08.11.2008    source источник


Ответы (1)


Вам нужно будет P/вызвать SetWindowsHookEx(). Единственный хук, который будет работать в приложении .NET, — это WH_KEYBOARD_LL. Вы должны получить множество просмотров примера кода, когда будете искать эти ключевые слова в Google.

person Hans Passant    schedule 08.11.2008
comment
Подход P/Invoke SetWindowsHookEx() позволяет мне идеально собирать нажатия клавиш и передавать их в мои классы. Просто нужно поработать над повторной отправкой их в виндовс, если определено, что они не из устройства заклинивания клавиатуры. - person JDibble; 15.11.2008