Delphi. Учимся на примерах | страница 42
>
> //для опции "Заблокировать реестр":
> reg:= TRegistry.Create;
> reg.RootKey:= HKEY_CURRENT_USER;
> reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\' +
> 'Policies\System', False);
> if reg.ValueExists('DisableRegistryTools') then
> if reg.ReadInteger('DisableRegistryTools') = 1 then CheckBox3.Checked:= True;
> reg.CloseKey;
>end;
При создании формы мы проверяем, какие из опций уже установлены. Если опция уже установлена, то устанавливаем соответствующий флажок.
Обработчик события OnClick для кнопки Выполнить:
>procedure TForm1.Button1Click(Sender: TObject);
>begin
> if CheckBox1.Checked then
> begin //если установлен флажок напротив первой опции
> reg:= TRegistry.Create; //открываем реестр
> //открываем ветку реестра
> reg.RootKey:= HKEY_LOCAL_MACHINE;
> reg.OpenKey('SYSTEM\CurrentControlSet\Services\Cdrom', True); //открываем требуемый раздел в реестре
> //записываем соответствующий ключ
> reg.WriteInteger('Autorun', 1);
> reg.CloseKey;
> end else begin //иначе…
> reg:= TRegistry.Create;
> reg.RootKey:= HKEY_LOCAL_MACHINE;
> reg.OpenKey('SYSTEM\CurrentControlSet\Services\Cdrom', True);
> //…отключаем эту возможность
> reg.WriteInteger('Autorun', 0);
> reg.CloseKey;
> end;
> //Таким же образом обрабатываем остальные опции
> //Для опции "Отключить свойства экрана":
> if CheckBox2.Checked then begin
> reg:= TRegistry.Create;
> reg.RootKey:=HKEY_CURRENT_USER;
> reg.OpenKey('Software\microsoft\Windows\CurrentVersion\' +
> 'Policies\System', True);
> //отключить свойства экрана
> reg.WriteInteger('NoDispCPL', 1);
> reg.CloseKey;
> end else begin
> reg:= TRegistry.Create;
> reg.RootKey:= HKEY_CURRENT_USER;
> reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\'+
> 'Policies\System', True);
> //Восстановить свойства экрана
> reg.WriteInteger('NoDispCPL', 0);
> reg.CloseKey;
> end;
> //Для опции "Заблокировать реестр":
> if CheckBox3.Checked then begin
> reg:= TRegistry.Create;
> reg.RootKey:= HKEY_CURRENT_USER;
> reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\' +
> 'Policies\System', True);
> //Заблокировать реестр
> reg.WriteInteger('DisableRegistryTools', 1);
> reg.CloseKey;
> end else begin
> reg:= TRegistry.Create;
> reg.RootKey:= HKEY_CURRENT_USER;
> reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\' +
> 'Policies\System', True);
> //открыть доступ к реестру
> reg.WriteInteger('DisableRegistryTools', 0);
> reg.CloseKey;
> end;
>end;
По нажатию кнопки Выполнить мы проверяем состояние каждого флажка. Если флажок установлен, то мы записываем в реестр ключ, который включает выбранную опцию, в противном же случае — просто отключаем эту опцию.