Парижский Сергей Михайлович
Шрифт:
Листинг 12.1. Модуль программы настройки Windows
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Registry;
type TForm1 = class(TForm)
Button1: TButton;
GroupBox1: TGroupBox;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
reg: Tregistry;
implementation
{$R *.dfm}
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;
procedure TForm1.FormCreate(Sender: TObject);
begin
reg:= TRegistry.Create;//открываем реестр