Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как программно менять обои на рабочем столе ? [D7, XP]


San1712 ©   (2007-10-02 01:17:00) 

Есть ли какие то стандартные функции по смене обоев ? Если нету то какие параметры надо менять в реестре ?


ElectriC   (2007-10-02 02:31:00) [1]

ИЛИ:
...
var Wallpaper : string;
...
begin
  Wallpaper := 'C:\MYPICTURE.bmp';
  SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, PChar(Wallpaper),
  SPIF_SEN DCHANGE)
end;

ИЛИ: HKEY_CURRENT_USER\Control Panel\Desktop -> параметр TileWallpaper.

ИЛИ:
uses
ComObj, ShlObj;
procedure ChangeActiveWallpaper;
const
CLSID_ActiveDesktop: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}';
var
ActiveDesktop: IActiveDesktop;
begin
ActiveDesktop := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
ActiveDesktop.SetWallpaper('c:\MYPICTURE.jpg', 0);
ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо