- Регистрация
- 9 Май 2015
- Сообщения
- 1,551
- Баллы
- 155
Программно сменить заставку в Delphi – очень простая задача. Сделать это можно прописав в соответствующей ветке реестра настройки.
Ниже представлена процедура, которая на входе получает путь к файлу и в результате своей работы меняет заставку.
У этого кода есть недостаток – он не корректно работает в WindowsXP. Все дело в том, что в ХР, с помощью данной процедуры, установить на обои можно только bmp изображение. Но это не беда, ведь изображение можно конвертировать.
Ниже представлена процедура, которая на входе получает путь к файлу и в результате своей работы меняет заставку.
Код:
procedure SetWallpaper(S:PChar);
var
Reg: TRegIniFile;
begin
Reg := TRegIniFile.Create('Control Panel');
Reg.WriteString('desktop', 'Wallpaper', str);
Reg.WriteString('desktop', 'TileWallpaper', '0');
Reg.WriteString('desktop', 'WallpaperStyle', '2');
Reg.Free;
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
end;