Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.13;
Скачать: CL | DM;

Вниз

Блокировка клавиатуры через глобальный HOOK, возможно ли?   Найти похожие ветки 

 
Eugene ©   (2002-12-06 12:59) [0]

Скажите возможно блокировать клавиатуру (что бы не одна клавиша не действовала) через глобальный HOOK. У меня получается блокировать все кнопки кроме системных (VK_LWIN, VK_RWIN, VK_APPS) а также сочетание Alt+Tab. А также работают кнопки задейтствованные другими программами (тоже через HOOK). Пробовал ставить глобальный HOOK на другие HOOK процедуры (WH_DEBUG) и блокировать их, но что-то не получается. Подскажите пожалуйста, может я иду не в том направлении.
Заранее спасибо.


 
Separator ©   (2002-12-06 13:07) [1]

Смотри здесь:
http://delphibase.endimus.ru/?action=viewfunc&topic=syscontrol&id=10202
http://delphibase.endimus.ru/?action=viewfunc&topic=syscontrol&id=10154


 
Eugene ©   (2002-12-06 13:54) [2]

> Separator ©
На первой ссылке вся клавиатура не бокируется.
Вторую ссылку попробую, но хотелось бы узнать по поводу HOOKа, возможно или нет.


 
Separator ©   (2002-12-06 13:58) [3]

не знаю


 
Song ©   (2002-12-06 14:38) [4]

Блокируются одинаково: и на первой и на второй ссылке. Ctrl-Alt-Del не заблокируешь, всё остальное блокируется хорошо и через BlockInput()
Правда, можно заблокировать CAD через rundll32, однако у него есть плохая черта (если даже можно), восстановить нельзя.


 
Eugene ©   (2002-12-06 15:58) [5]

> Song ©
То есть через HOOK никак не заблокируешь ?
Есть еще вопрос, есть ли разница в HOOKе установленоом из под обычноо юзера (даже с паролем админа) или из под логина SYSTEM (то есть через сервис) ?
Спасибо.


 
Diamond Cat ©   (2002-12-06 18:25) [6]

через хук можно заблокировать почти все но только если другие программы пользуються хуком, и этот хук старше в цепочке хуков чем твой, то тут швах


 
Eugene ©   (2002-12-06 18:57) [7]

> через хук можно заблокировать почти все
У меня не получилось перекрыть хуком системные клавиши (VK_LWIN, VK_RWIN, VK_APPS)

> но только если другие программы пользуються хуком, и этот хук старше в цепочке хуков чем твой, то тут швах
Но ведь новый ставиться выше предыдущих, значит переставляя HOOK можно постоянно держать его на верху. И потом есть HOOK и на хук, могу я другие хуки выгрузить?


 
Song ©   (2002-12-07 00:48) [8]

хуком нельзя заблокировать CAD. Остальные комбинации без проблем. Только не понимаю зачем, если есть BlockInput()


 
Eugene ©   (2002-12-07 20:26) [9]

> Только не понимаю зачем, если есть BlockInput()
BlockInput() блокирует все, а мне надо только клавиатуру.


 
Song ©   (2002-12-07 22:26) [10]

Хорошо, тогда хук на клавиатуру, но про CAD забудь.


 
Diamond Cat ©   (2002-12-09 00:54) [11]

>Но ведь новый ставиться выше предыдущих
кто тебе такое сказал?


 
mwolf   (2003-01-18 02:09) [12]

Господа.
Как человек немного работавшим с проблемой блокирования клавы и мыши, могу предложить следущий ход в решении проблемы Alt+Tab и пр. Для этого, после вешания хука, компьютер надо перевести в режим заставки.Делается это следующим образом:
// Включение режима
SYSTEMPARAMETERSINFO(SPI_SCREENSAVERRUNNING, 1, 0, 0);
// Выключение режима
SYSTEMPARAMETERSINFO(SPI_SCREENSAVERRUNNING, 0, 0, 0);
Все системные клавиши будут отключены, а остальные заблокирует ваш хук.



Страницы: 1 вся ветка

Текущий архив: 2003.03.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
6-39458
Silense
2003-01-23 08:35
2003.03.13
Адрес отправителя


14-39527
evgeniy1981
2003-02-26 11:21
2003.03.13
Базы данных


6-39436
Чудак
2003-01-23 16:04
2003.03.13
зная Имя определить IP - адрес машины в локальной сети


3-39227
devol
2003-02-05 16:08
2003.03.13
SQL Server


8-39424
aspen
2002-12-03 13:06
2003.03.13
как избежать мерцания при перерисовке?