Обои на рабочий стол
var str:string;
p:pointer;
begin
str:='1.bmp';
p:=@str;
SystemParametrsInfo(SPI_SETDESKWALLPAPER,0,p,SPIF_UPDATEINIFILE);
почему этот код не работает
а через реестр я не хочу ставить
муторно очень
uses ComObj, ShlObj;
procedure ChangeWallpaper(FileName: PWideChar);
const CLSID_AD: TGUID='{75048700-EF1F-11D0-9888-006097DEACF9}';
var AD: IActiveDesktop;
begin
AD:=CreateComObject(CLSID_AD) as IActiveDesktop;
AD.SetWallpaper(FileName,0);
AD.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;
Должно работать...