Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.011 c
1-39304
Navigator3000
2003-03-04 08:47
2003.03.13
Загрузка рисунка


1-39267
Programmer1
2003-02-28 11:27
2003.03.13
Первая открывающаяся флрма обязана быть главной?


14-39520
Мазут Береговой
2003-02-25 21:56
2003.03.13
Требуется информация по онлайн аптекам в Киеве и области.


4-39622
OldFrits
2003-01-21 02:01
2003.03.13
Загрузка 16 битной Dll в Delphi 5.0


14-39553
Бильба Сумкин
2003-02-26 23:09
2003.03.13
КККААААААКККККОЙЙЙЙЙ СССЕЕЕЕЕЕГГГООДДДНЯЯ ДЕЕЕНННННЬЬЬЬЬЬ????????




   Наверх