Программная Смена Заставки

  • Автор темы Автор темы Sascha
  • Дата начала Дата начала

Sascha

Команда форума
Администратор
Ofline
Программно сменить заставку в Delphi – очень простая задача. Сделать это можно прописав в соответствующей ветке реестра настройки.

Ниже представлена процедура, которая на входе получает путь к файлу и в результате своей работы меняет заставку.
Код:
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;
У этого кода есть недостаток – он не корректно работает в WindowsXP. Все дело в том, что в ХР, с помощью данной процедуры, установить на обои можно только bmp изображение. Но это не беда, ведь изображение можно конвертировать.
 
Назад
Сверху Снизу