Работа с реестром 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
, если, конечно, такой файл находится в заданной директории. А экранная заставка теперь будет отключена.
Комментарии