Неначем проверить, Service заблокированы для разработки, но возможно нужно заменить флажок SPIF_UpdateiniFile на SPIF_SendWinINIChange, чтоб оповестить всех о том, что изменились системные настройки
Или вот ещё вариант из drkb
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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 ;
|