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

Вниз

Как перехватить нажатие клавиш [Ctrl+Alt+Del], [Ctrl+Esc].   Найти похожие ветки 

 
Metallica   (2002-07-29 20:31) [0]

Как перехватить нажатие клавиш [Ctrl+Alt+Del], [Ctrl+Esc] и [Alt+F4].


 
VEG ©   (2002-07-29 21:10) [1]

Как я понял, ты хочешь их заблокировать. Все это делаеться очень просто, одной строчкой!
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, nil, 0);//Блокировка Alt+Tab
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, nil, 0);//Разблокировка Alt+Tab

Об этом в инете инфы МОРЕ! Разве ты не мог сам найти?
Еще один ежик...


Еж - птица гордая. Не пнешь - не плоетит...


 
Странный Прохожий ©   (2002-07-29 21:39) [2]

Подменить task manager


 
Странный Прохожий ©   (2002-07-29 22:02) [3]

И вообще, если нужна действительно надёжная защита программы от шаловливых ручонок, можно использовать программно-аппаратные решения.
Не стоит пытаться поломать систему. Это неграмотный подход.


 
Metallica   (2002-07-30 10:21) [4]

>VEG
Слушай ты – ЕЖ!!! Ты наверное читать то не научился.
Мне нужно перехватить нажатие и вызвать свой Task Manager, а не блокировать.
Если знаешь как, то лучше блесни знаниями, а не остротой речи.


 
Metallica   (2002-07-30 10:23) [5]

>Странный Прохожий
Можно по подробней.


 
Metallica   (2002-07-30 13:05) [6]

>VEG
Если пошла речь о блокировке, то ты в курсе, что твоя блокировка снимается при запуске ИГРУШКИ.
Что это может быть?


 
Странный Прохожий ©   (2002-07-30 17:33) [7]

>>>Можно поподробней.

Ok.
1) Контроль доступа.
Несложный ключ на COM порт. Программа администрирования опрашивает его, скажем, раз в 30 сек и при отсутствии ответа или при неверном ответе переходит в режим "мягкого отказа", блокируя часть своих функций и/или устраивая "подлянку" (клиентская машина) типа резкого снижения производительности или "выбирая" память.

Такой ключ может быть нестандартным. Алгоритм проверки -- к примеру, псевдослучайная последовательность переменной длины. Часть формируется ключом, другая часть -- в программе.
Аппаратная сложность -- примерно как у мышки.

Вскрыть такую защиту будет довольно сложно. По крайней мере, заморочно.

2) Живучесть административной проги.
Чтобы сделать прогу неубиваемой, можно возложить контроль за её состоянием на Kernel Mode драйвер.
Программа администрирования запускается по требованию драйвера и должна опрашивать его, скажем, раз в 5 сек.
В драйвере сделать системный поток, который будет периодически проверять наличие вызовов за некий интервал времени (скажем, 20 сек). Если вызовов не было, значит админская прога убита/зависла и должна быть перезапущена.





 
beglec   (2002-08-01 13:23) [8]

Ребята такой вопрос
А в NT/2000/XP - как моно заблокировать CTRL+ALT+DEL.
Знаю что моно. Например Фирма ADOBE смогла этого добится. В Adobe Premire 6.0 при компиляции данная комбинация блокируется.

Как можно добится блокироваки CTRL+ALT+DEL в XP
Delphi 6 - OS - Windows XP


 
Феофан Проклович   (2002-08-01 14:45) [9]

Через драйвер клавиатуры СЛАБО?


 
Almaz ©   (2002-08-02 00:39) [10]

В NT системах (NT/2k/XP) можно перехватить нажатие CAD путем написания собственной GINA.DLL - эту DLL отвечает за авторизацию пользователя, а также, за реакцию на SAS event, к которым и относится нажатие CAD. Готовый пример GINA.DLL есть в MSDN.

Удачи.


 
paul_shmakov ©   (2002-08-05 15:32) [11]

в winnt/2k/xp есть low-level keyboard hooks, которые позволяют перехватывать комбинации Ctrl+Esc, Alt+Tab и Alt+Esc.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmag00/html/win320700.asp


 
kadraviat   (2002-08-06 11:48) [12]

Как точнее написать такой драйвер, перехватъвающий Ctr+Alt+Del. Я спрашиваю о драйвере, потомучто мне кажется етот подход универсальнъй. Ведь GINA.DLL не будет работать на Win98.


 
kadraviat   (2002-08-06 11:58) [13]

>>Феофан Проклович

можно по подробней о драйвере, перехватъваюший Ctrl+Alt+Del, потомучто мне кажется етот подход универсальнъй. Ведь GINA.DLL не сработает на Win98, а low level hook не поимает Ctrl+Alt+Del.


 
paul_shmakov ©   (2002-08-06 13:30) [14]

2 kadraviat:
"GINA.DLL не сработает на Win98, а low level hook не поимает Ctrl+Alt+Del"

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


 
y-soft ©   (2002-08-06 20:38) [15]

Может это будет полезно?

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


 
Иода   (2002-08-10 14:42) [16]

Кто сможет сказать как заблокировать Ctrl-Esc не блокируя
Ctrl-Alt-Del и Alt-Tab. Заранее спасибо


 
imNight ©   (2002-09-11 02:05) [17]

Иода, читай выше!


 
dr.karter   (2002-09-12 10:54) [18]


> SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, nil, 0);//Блокировка
> Alt+Tab
> SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, nil, 0);//Разблокировка
> Alt+Tab

Это все замечательно и неплохо работает, только Alt+F4 не отрубает. А как Alt+F4 отрубить? Кто знает и как?


 
AAN   (2002-11-05 05:05) [19]

На событие CloseQuery повесь: CanClose:= False;

================================================
Кто точно знает как вырубить Ctrl+Esc под WinXP?


 
DVM   (2002-11-14 13:15) [20]

Под XP Ctrl+Esc только вместе с explorer.exe


 
paul_shmakov ©   (2002-11-14 13:19) [21]

2 DVM & AAN:
а что, это не подходит?
см. paul_shmakov © (05.08.02 15:32)


 
Victor_Cr ©   (2002-11-14 15:27) [22]

2 dr.karter

-> Это все замечательно и неплохо работает, только Alt+F4 не отрубает. А как Alt+F4 отрубить? Кто знает и как?

Если надо чтоб твое приложение не закрывалось по нажатию этих кнопок,то самым примитивним способом

procedure TForm1.FormClose(....;var Action: TColseAction);
begin
if <если действительно надо выйти> then
Action := caFree
else
Action := caFree;
end;



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

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

Наверх




Память: 0.52 MB
Время: 0.015 c
14-87119
Cr@sh
2003-01-09 23:25
2003.01.27
Она меня бросила... она бросила все...


1-86913
Бук
2003-01-16 14:06
2003.01.27
Понять не могу где ошибка


1-86816
Urn
2003-01-17 20:21
2003.01.27
Как сделать default?


9-86612
LM
2002-07-24 23:05
2003.01.27
SOUND in game


14-87044
Jim
2003-01-10 23:55
2003.01.27
Строка между записями