Как программно заменить обои на рабочем столе 2



    Как программно заменить обои на рабочем столе 2 Как программно заменить обои на рабочем столе 2

Автор: Владимир Рыбант

Другие подобные советы не изменяют обои, если в Windows работает режим Active Desktop

Нужно использовать следующее:


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:\windows\forest.bmp', 0);
  ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;

Этим способом можно также изменять обои картинками jpg и gif



 
Время генерации страницы 0.044285 сек.