Показать сообщение отдельно
  #3  
Старый 16.01.2010, 14:03
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
По умолчанию

Пардон, логика кода улыбнула ) смешно 2 кэйса ставить. Вот ещё один (тока написанный) вариант:

И кстати 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.
Ответить с цитированием