Как программно заменить обои на рабочем столе? 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]