Пардон, логика кода улыбнула

) смешно 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;