Работа с реестром Windows
Реестр хранится как бинарный файл. Для того, чтобы просмотреть его, запустите Regedit.exe (редактор реестра Windows), который находится в директории Windows. Информация в редакторе реестра организована так же, как в Проводнике Windows. Вы можете использовать Редактор реестра для просмотра информации реестра, изменять или добавлять в него какие-либо данные.

Внимание: изменение реестра может привести в выходу системы из строя! Конечно, если Вы не знаете, что Вы делаете.
INI против Реестра
В старых версиях Windows для хранения настроек приложений и самой Windows, информация хранилась в INI файлах. Самое страшное в том, что это простые текстовые файлы, которые пользователь может легко редактировать, изменять их и даже удалить.
В 32-разрядный версиях Windows Microsoft рекомендует использовать реестр для хранения информации приложений, где пользователи не смогут изменить данные, и тем самым навредить приложениям и самой системе.
Delphi обеспечивает полную поддержку изменений записей в системном реестре через класс TRegistry.
Запись в реестр
Как уже упоминалось, основные операции - это чтение информации из реестра и запись ее в реестр.
В следующем примере мы будем менять обои для Рабочего стола Windows, а также отключать ScreenSaver Windows при помощи класса TRegistry. Перед тем, как использовать класс TRegistry, нужно добавить модуль Registry в раздел uses Вашей программы.
uses
{ ... }, Registry;
procedure TForm1.FormCreate(Sender: TObject) ;
var
reg: TRegistry;
begin
reg:= TRegistry.Create;
with reg do begin
try
if OpenKey('\Control Panel\desktop', False) then begin
// Поменять обои и замостить Рабочий стол
reg.WriteString ('Wallpaper', 'C:\Windows\CIRCLES.bmp') ;
reg.WriteString ('TileWallpaper', '1') ;
// Отключаем ScreenSaver //('0'=disable, '1'=enable)
reg.WriteString('ScreenSaveActive', '0') ;
// сразу же обновить изменения
SystemParametersInfo (SPI_SETDESKWALLPAPER, 0,
nil, SPIF_SENDWININICHANGE) ;
SystemParametersInfo (SPI_SETSCREENSAVEACTIVE, 0,
nil, SPIF_SENDWININICHANGE) ;
end
finally
reg.Free;
end;
end;
end;
Две строчки кода, которые начинаются с SystemParametersInfo принуждают Windows обновить обои и заставку немедленно. Когда Вы запустите приложение, то сразу же поменяются обои на изображение из файла Circles.bmp, если, конечно, такой файл находится в заданной директории. А экранная заставка теперь будет отключена.
Комментарии