Создал Устройство Клавиатуры присобачил его на KeyboardClass0 установил SetCompletionRoutine. Теперь получаю Сканкоды нажатых клавиш. Но как с уровня ядра определить в каком окне пользователь набирает текст? И как правильно сконвертировать Сканкод в символ в зависимости от аттрибута раскладки клавиатуры у потока этого окна?
Но вот что интересно. У IRP которые приходят в процедуру обработки моего драйвера DispatchRead есть такой параметр pIrp->tail.overlay.Thread в MSDN сказано, что Это чего же получается если ткнул кнопку в "блокноте", то тут будет указатель на TCB потока в "блокноте"?
Great Да опечатка вышла pIrp->tail.overlay.Thread Только вопрос тот же. Чей это будет Thread в данном случае?