Procedure setwallpic; varhr: hResult; Wall: IactiveDesktop; aa: pwidechar; begin
Activex.coinitialize (nil); hr: = cocreateInstance (CLSID_ACTIVEDESKTOP, NIL, CLSCTX_INPROC_SERVER, STRINGTOGUID (SID_IACTIVEDESKTOP), WALL);
IF HR = S_OK THEN BEGIN GETMEM (AA, 255); StringTowideChar ('', AA, 255); Try Wall.Setwallpaper (AA, 0); StringTowideChar (Picpath, AA, 255); Wall.Setwallpaper (aa, 0) Wall.ApplyChanges; FreeMem (AA, 255); Excepton E: Exception Dobeginwall .._ release; showMessage (End; End; End; End; End;);
END;