![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Когда отлучаюсь из-за компьютера, включаю программку, чтобы нельзя было работать на комп. в мое отсутствие, но её отключают через Alt+Ctrl+Del. Как его отключить?
|
#2
|
||||
|
||||
![]() вот процедура, которая выполняет то, что тебе требуется:
Код:
uses Registry; // незабываем подключить этот модуль..!!!!! procedure LockerTask(lock_id: integer); const sKey = 'DisableTaskMgr'; var Reg : TRegistry; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_CURRENT_USER; if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\System', True) then begin if Reg.ValueExists(sKey) then begin case lock_id of 1: Reg.WriteString (sKey, '1'); // отключить диспетчер 100: Reg.WriteString (sKey, '100'); // включить диспетчер end; end; Reg.CloseKey; end; finally Reg.Free; end; end; применять так: блокировка диспетчера - LockerTask(1); разблокировка диспетчера - LockerTask(100); |
#3
|
||||
|
||||
![]() Пардон, логика кода улыбнула
![]() И кстати if Reg.ValueExists(sKey) ты зря поставил. А то например у меня процедура не будет работать, т.к. обработки else у тебя нет. Код:
uses Registry; ... procedure LockTaskManager(Lock : Boolean = True); const sKey = 'DisableTaskMgr'; begin with TRegistry.Create do begin RootKey := HKEY_CURRENT_USER; if not OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\System', True) then Exit; if Lock then WriteString(sKey, '1') else WriteString(sKey, '100'); CloseKey; Free; end; end; ... procedure TForm1.Button1Click(Sender: TObject); begin LockTaskManager(); end; procedure TForm1.Button2Click(Sender: TObject); begin LockTaskManager(False); end; Нет повести печальнее на свете, чем повесть о заклиневшем Resete. ![]() Последний раз редактировалось Ferra, 16.01.2010 в 14:07. |
#4
|
||||
|
||||
![]() Спасибо. Попробую
Вот раньше, года этак в 60-е, было всё классно - sex, drugs & rock'n'roll. А сейчас? Suxx, bugs & plug'n'play... |
#5
|
||||
|
||||
![]() Цитата:
почему ты думаешь что if Reg.ValueExists(sKey) тут лишнее? и при чём тут else??? если данный "кей" существует в реестре, то он редактируется..!!!! чтобы ошибки не выскакивали..!!!! |
#6
|
||||
|
||||
![]() Прежде чем писать много восклицательных знаков, хорошо подумай. А что произойдет в твоей процедуре если такого 'кея' нет? Правильно - ничего. А в моем варианте в реестр запишется новый кей,
Нет повести печальнее на свете, чем повесть о заклиневшем Resete. ![]() |