Меня интерисует такой вопрос: допустим была нажата какая-либо клавиша (пробел, буква А, цифра 5 и т.д.) сигнал о том что была нажата кнопка посылается всем процессам или только GUI процессам? меня интерисует именно user-mode составляющая. Есть ли такой компонент в user-mode который находясь в любом процессе, всегда знает какие кнопки нажимаются. или есть ли такой процесс, который всегда знает какие кнопки нажимаются? (наподобие csrss.exe всегда имеет хендлы всем процессов, меня интерисует аналогия с клавиатурой)
Если интересуют общие механизмы, то следует погуглить\почитать на тему прерываний клавиатуры, кейлоггеров и т.п. (например, это) 1) низкоуровневый клавиатурный хук - SetWindowsHookEx(WH_KEYBOARD_LL, ...) 2) опрос клавы через GetKeySate\GetAsyncKeyState (по таймеру и т.п.) 3) в XP и выше - использование Raw Input Он самый и есть, поскольку в его контексте и работает raw input thread (RIT)
это я всё знаю. отлов и логирование нажатий клавиш это не задача. Я просто хочу узнать как вообще прогамма может о нажатиях на кнопки. это уже что-то новенькое, спасибо