Як перехопити натискання клавіш [Ctrl + Alt + Del], [Ctrl + Esc].
Як перехопити натискання клавіш [Ctrl + Alt + Del], [Ctrl + Esc] і [Alt + F4].
Як я зрозумів, ти хочеш їх заблокувати. Все це делаеться дуже просто, одним рядком!
SystemParametersInfo (SPI_SCREENSAVERRUNNING, 1, nil, 0); // Блокування Alt + Tab
SystemParametersInfo (SPI_SCREENSAVERRUNNING, 0, nil, 0); // Розблокування Alt + Tab
Про це в інеті інфи МОРЕ! Хіба ти не міг сам знайти?
Ще один їжачок.
Їжак - птах горда. Чи не пнешь - НЕ плоетіт.
Підмінити task manager
І взагалі, якщо потрібна дійсно надійний захист програми від пустотливих рученят, можна використовувати програмно-апаратні рішення.
Не варто намагатися поламати систему. Це неграмотний підхід.
> Дивний Перехожий
Можна по подробней.
> VEG
Якщо пішла мова про блокування, то ти в курсі, що твоя блокування знімається при запуску ІГРАШКИ.
Що це може бути?
Ok.
1) Контроль доступу.
Нескладний ключ на COM порт. Програма адміністрування опитує його, скажімо, раз в 30 сек і при відсутності відповіді або при невірній відповіді переходить в режим "м'якого відмови", блокуючи частину своїх функцій і / або влаштовуючи "підлість" (клієнтська машина) типу різкого зниження продуктивності або "вибираючи" пам'ять.
Такий ключ може бути нестандартним. Алгоритм перевірки - наприклад, псевдослучайная послідовність змінної довжини. Частина формується ключем, інша частина - в програмі.
Апаратна складність - приблизно як у мишки.
Розкрити такий захист буде досить складно. По крайней мере, заморочно.
2) Живучість адміністративної проги.
Щоб зробити прогу неубіваемий, можна покласти контроль за її станом на Kernel Mode драйвер.
Програма адміністрування запускається на вимогу драйвера і повинна опитувати його, скажімо, раз в 5 сек.
У драйвері зробити системний потік, який буде періодично перевіряти наявність викликів за якийсь інтервал часу (скажімо, 20 сек). Якщо викликів не було, значить адмінських прога вбита / зависла і повинна бути перезапущено.
Як можна добится блокіровакі CTRL + ALT + DEL в XP
Delphi 6 - OS - Windows XP
Через драйвер клавіатури СЛАБКО?
Як точніше написати такий драйвер, перехват'вающій Ctr + Alt + Del. Я питаю про драйвер, потомучто мені здається етот підхід універсальн'й. Адже GINA.DLL не працюватиме на Win98.
можна по подробней про драйвер, перехват'ваюшій Ctrl + Alt + Del, потомучто мені здається етот підхід універсальн'й. Адже GINA.DLL не спрацює на Win98, а low level hook НЕ поімал Ctrl + Alt + Del.
2 kadraviat:
"GINA.DLL не спрацює на Win98, а low level hook НЕ поімал Ctrl + Alt + Del"
врахуйте, що немає єдиного формату драйверів, який розуміли б все операційки. тому драйвера теж придеться писати різні під різні версії windows.
так що універсальність виходить не зовсім універсальна.
Може це буде корисно?
Хто зможе сказати як заблокувати Ctrl-Esc НЕ блокуючи
Ctrl-Alt-Del і Alt-Tab. Заздалегідь дякую
> SystemParametersInfo (SPI_SCREENSAVERRUNNING, 1, nil, 0); // Блокування
> Alt + Tab
> SystemParametersInfo (SPI_SCREENSAVERRUNNING, 0, nil, 0); // Розблокування
> Alt + Tab
Це все чудово і непогано працює, тільки Alt + F4 не відрубує. А як Alt + F4 відрубати? Хто знає і як?
На подію CloseQuery повісь: CanClose: = False;
Під XP Ctrl + Esc тільки разом з explorer.exe
-> Це все чудово і непогано працює, тільки Alt + F4 не відрубує. А як Alt + F4 відрубати? Хто знає і як?
Якщо треба щоб твоє програма не закривалося після натискання цих кнопок, то найпримітивнішим способом
procedure TForm1.FormClose (.; var Action: TColseAction);
begin
if <если действительно надо выйти> then
Action: = caFree
else
Action: = caFree;
end;
Пам'ять: 0.76 MB
Час: 0.04 c