Советы по Delphi


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


Владимир Рыбант пишет:

Советы "Как програмно заменить обои на рабочем столе" I,II,III не изменяют обои, если в 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 [001543]



Содержание раздела