PAS-модули · 07.09.2023

SetWallpaper

Данный модуль написан для IDE Lazarus!

Данный модуль это всё, что осталось от этой программы. В нём одна единственная процедура, отвечающая за установку изображения фоном рабочего стола. Модуль успешно меняет обои на всех версиях Windows (разумеется, начиная с 7ки) и не боится кириллических символов в пути к файлу. Тестировалось с файлами форматов bmp, jpg, png.

Чтобы воспользоваться модулем разместите файл setwallpaper_module.pas в Вашем проекте и объявите его в uses:

uses ..., setwallpaper_module, ...;

Обращение стандартное:

setwallpaper_module.SetWallpaper('путь/к/файлу');

Процедура устанавливает значения в реестре (HKEY_CURRENT_USER), поэтому функционал не привязан к формату файла.

Теперь немного тонкостей смены фонового рисунка рабочего стола через реестр.

Процедурой SetWallpaper затрагивается три строковых параметра реестра: WallPaper (путь к файлу), WallpaperStyle (положение фона) и TileWallpaper (логический параметр, отвечает за центрирование фона).

Модуль приводит параметр WallpaperStyle к значению 10, что соответствует «Заполнению», а параметру TileWallpaper устанавливается значение 0 для размещения фона по центру.