Данный модуль написан для 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 для размещения фона по центру.