Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Перехват клавиатуры  (Прочитано 13277 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Drvveb
Гость
« : 23-02-2004 21:35 » 

Допустим я хочу перехватить нажатие определённой клавиши на клавиатуре и сделать чтобы оно не сработало.

Как это сделать на уровне драйвера?


1. Где ловить и IRP и какой IRP это будет ?
(если дело в IRP 8( )

2. Какого уровня нужен фильтр - нижний или верхний. И через фильтр ли это вообще делается?

Буду благодарен ЛЮБОЙ помощи.
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #1 : 24-02-2004 06:21 » 

Цитата

 Какого уровня нужен фильтр - нижний или верхний.


верхний фильтр на kbdclass.
Записан
Drvveb
Гость
« Ответ #2 : 24-02-2004 16:58 » 

Спасибо. А какой же IRP фильтровать-то и дальше не пускать?
Есть подозрение, что IRP_MJ_DEVICE_CONTROL и код IOCTL_KEYBOARD_QUERY_TYPEMATIC?

Просто в примере к DDK - исходник kbdclass обработку этих самых интересных команд не показали вот и не знаю что делать 8(. Исходник этот DDK шный -издевательство какое-то.

Кстати. С какой книги лучше начать Walter Oney, Art Baker
Jerry Lozano , или всё-таки DDK мучать?
Записан
Oro
Гость
« Ответ #3 : 25-02-2004 12:21 » 

http://www.sysinternals.com/ntw2k/source/ctrl2cap.shtml.

В данном драйвере переопределяеться CapsLock на Control.

Кстати никто не подскажет идею или хотя бы направление к котором нужно копать, чтобы при нажатии клавиши, например, ScrollLock на экране отрисовывалось меню, по аналогии с нажатием клавиши Win.
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #4 : 25-02-2004 12:31 » 

Цитата

Кстати. С какой книги лучше начать Walter Oney, Art Baker


Walter Oney
Записан
Drvveb
Гость
« Ответ #5 : 25-02-2004 21:25 » 

Oro Спасибо за ссылку. Как раз то, что надо.

А то, что ты ищешь делает совсем не драйвер. На клавишу реагирует программа.
Записан
Anonymous
Гость
« Ответ #6 : 27-02-2004 14:21 » 

Я шокирован!*
Записан
Anonymous
Гость
« Ответ #7 : 27-02-2004 14:26 » 

Mega shock
Записан
Anonymous
Гость
« Ответ #8 : 27-02-2004 14:29 » 

 Вот такой я вот*
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #9 : 27-02-2004 14:51 » 

Гость,  если хочешь сделать бесконечную итерацию воспользуйся правилом записи регулярных выражений- то есть используй *. Или сделай так
L={ Я шокирован! }
prod<-L*
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #10 : 27-02-2004 14:53 » 

Цитата

А то, что ты ищешь делает совсем не драйвер. На клавишу реагирует программа.


Вероятно вот эта фраза и вызвала шок у Гостя. Действительно- неправильно.
Записан
Drvveb
Гость
« Ответ #11 : 28-02-2004 09:07 » 

Цитата
Вероятно вот эта фраза и вызвала шок у Гостя. Действительно- неправильно


Тогда ой.

Думал что всё делает Explorer.exe/
Записан
Drvveb
Гость
« Ответ #12 : 28-02-2004 09:10 » 

А ведь особо впечатлительные гости могли бы выйдя из состояния шока что-нибудь ответить Oro, если действительно разбираются в вопросе. Ага
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines