Delphi. Учимся на примерах | страница 41



В этой главе будет показано как написать программу для "тонкой" настройки ОС Windows. Мы не будем разрабатывать многофункциональное приложение, а создадим только шаблон, в который затем читатель сможет сам добавить необходимые ему пункты по настройке операционной системы.

⇘ Краткий справочник по реестру Windows находится в приложении В.

Разработка формы

Создайте новый проект Delphi. Присвойте свойству Caption формы значение Настройка ОС Windows. Разместите на форме компонент GroupBox категории Standard и присвойте его свойству Caption значение Опции. На компоненте GroupBox разместите один над другим три компонента CheckBox категории Standard и присвойте их свойству Caption следующие значения: Отключить автозагрузку с CD-ROM, Отключить свойства экрана И Заблокировать реестр. У нижнего края формы разместите кнопку (компонент Button категории Standard), присвоив ее свойству Caption значение Выполнить.

Полученная форма должна соответствовать рис. 12.1.

Рис. 12.1. Форма программы настройки Windows

Разработка программного кода

В программе потребуется обработать два события: создание формы и нажатие кнопки Выполнить. При создании формы мы должны считывать значения из реестра, и устанавливать соответствующие флажки. При нажатии кнопки Выполнить будут применяться выбранные пользователем настройки.

Для начала добавим в раздел uses ссылку на модуль Registry для работы с системным реестром. Также необходимо объявить глобальную переменную reg типа TRegistry, с помощью которой мы будем работать с реестром:

>var

> Form1: TForm1;

reg: TRegistry;

Обработчик события создания главной формы OnCreate:

>procedure TForm1.FormCreate(Sender: TObject);

>begin

> reg:= TRegistry.Create;//открываем реестр

> //настройки для текущего пользователя

> reg.RootKey:= HKEY_CURRENT_USER;

> reg.OpenKey('SYSTEM\CurrentControlSet\Services\Cdrom', False); //открываем раздел

> if reg.ValueExists('Autorun') then //если ключ существует

>  if reg.readinteger('autorun') = 1 //и если он равен 1,

>   then //то устанавливаем флажок первой опции

>    CheckBox1.Checked:= True;

> reg.CloseKey;//закрываем реестр

> //Таким же образом проверяем остальные опции

> //Для опции "Отключить свойства экрана":

> reg:= TRegistry.Create;

> reg.RootKey:= HKEY_CURRENT_USER;

> reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\' +

>  'Policies\System', False);

> if reg.ValueExists('NoDispCPL') then

>  if reg.ReadInteger('NoDispCPL') = 1 then CheckBox2.Checked:= True;

> reg.CloseKey;