|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.09.2007, 21:02 | #1 |
Форумчанин
Регистрация: 15.08.2007
Сообщений: 118
|
Блокирование клавиатуры и мыши
Я пишу клиент-серверное приложение по ограничению доступа...
Мне нужно заблокировать клавиатуру и мышь. Причем полностью, чтобы и CTRL+ALT+DELETE тоже не работал! Программа должна работать без прав администратора) |
22.09.2007, 22:41 | #2 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
поищи по форуму по слову Hook. Или скачай drkb.chm и возьми готовые примеры.
Не надо ничего усложнять. Все достаточно тривиально.
|
23.09.2007, 10:16 | #3 |
Форумчанин
Регистрация: 15.08.2007
Сообщений: 118
|
2 Shuraken
На форуме ничего толкового не нашёл, а drkb.chm весит 5.68MB... Я скачать не с могу(сижу на GPRSе) Может ты выложишь готовый примерчик? Заранее благодарен) |
23.09.2007, 10:23 | #4 |
Форумчанин
Регистрация: 15.08.2007
Сообщений: 118
|
Вот как делал я:
В переменные Dummy: integer = 0; и OldKbHook: HHook = 0; Код:
2) Не блокирует CTRL+ALT+DELETE |
23.09.2007, 10:45 | #5 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
var
i : integer; begin i := 0; {запрещаем Ctrl-Alt-Del} SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @i, 0); end. // необходим unit WinProcs Вы можете использовать ф-ию BlockInput. Она живёт в user32.dll Также она блокирует одновременно и мышь. Procedure BlockInput(ABlockInput : Boolean); stdcall; external 'USER32.DLL'; BlockInput(True); - заблокировать BlockInput(False); - разблокировать Однако имейте ввиду, что BlockInput() не заблокирует CAD Кроме того, для блокировки, мы можем использовать некоторые недокументированные возможности, однако их недастаток в том, что обратно клавиатуру/мышь уже включить нельзя: "rundll32 keyboard,disable" - заблокироовать клавиатуру "rundll32 mouse,disable" - заблокировать мышь Запустить эти команды мы можем самое простое через ShellExecute() или WinExec(): ShellExecute(Application.Handle,'op en','C:\Windows\Rundll32.exe', 'команда','C:\Windows',SW_HIDE); На, копайся.
Не надо ничего усложнять. Все достаточно тривиально.
|
23.09.2007, 10:54 | #6 |
Форумчанин
Регистрация: 15.08.2007
Сообщений: 118
|
Спасибо! Буду пробовать)
Только Ctrl-Alt-Del(в самом верху сообщ) всё равно не блокирует!!! |
23.09.2007, 11:01 | #7 |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
ctrl+alt+del заблокировать не удастся никак. Если, конечно, не перепишешь ядро винды или не напишешь свои дрова для клавиатуры.
Можно, конечно, поменять параметр в реестре, но это уже не блокировка. |
23.09.2007, 12:27 | #8 |
Вот я и
Форумчанин
Регистрация: 07.04.2007
Сообщений: 501
|
Перейдите по ссылке и скачайте Delphi глазами хакера. Там приводится хороший пример
Исходники программ - http:\\www.kort.3dn.ru
|
23.09.2007, 12:32 | #9 |
Форумчанин
Регистрация: 15.08.2007
Сообщений: 118
|
Там же для 98 винды... А мне в ХР надо)
|
24.09.2007, 15:11 | #10 |
Регистрация: 16.04.2007
Сообщений: 4
|
отключить контр-альт-делит неудастся, но можно не дать ему работать:
ставиш на форму таймер, интервал:=1, и каждую тысячную долю секудны отправляется сообщение, закрывающее это ненависное окошко: procedure TForm1.Timer1Timer(Sender: TObject); begin PostMessage(FindWindow(nil,'Диспетч ер задач Windows'),WM_CLOSE,0,0) end; а можно поиздеваться над ламером и сделать диспетчер устройств просто неактивным: procedure TForm1.Timer1Timer(Sender: TObject); begin EnableWindow(FindWindow(nil,'Диспет чер задач Windows'),false) end; сделать активным: procedure TForm1.Timer1Timer(Sender: TObject); begin EnableWindow(FindWindow(nil,'Диспет чер задач Windows'),true) end; элементарно. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
блокировка клавиатуры и мыши | Var17 | Win Api | 6 | 14.04.2008 15:30 |
Блокирование клавиатуры | Milly | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 18.10.2007 19:15 |
блокирование функции | Fireleo | Win Api | 5 | 29.07.2007 17:04 |
Блокирование при работе с TList. | Riman | Общие вопросы Delphi | 7 | 31.05.2007 15:28 |
Блокирование других программ | ar4i | Общие вопросы Delphi | 5 | 12.12.2006 14:59 |