怎么用DELPHI程序来改变桌面的墙纸呀  不需要重启机的那种  就想用系统的修改方法一样

解决方案 »

  1.   

    youself add uses ..
    procedure setwallpic();
    var
    hr: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);
      wall.SetWallpaper(aa,0); 
      stringtowidechar(yourpicpath,aa,255);
      wall.SetWallpaper(aa,0);
      wall.ApplyChanges(AD_APPLY_ALL);
      //wall._Release;
      freemem(aa,255);
      end;
     activex.CoUninitialize;
    end;
    end;end;
      

  2.   

    哦  这么麻烦   我看到了一个修改注册表的   特别简单   唯一的缺陷就是只能用BMP文件   好了  说话算话的  你想要多少分  我先给你一些  还想要的话   找我   我可不是送分的  呵呵  好了  能认识一下么  QQ:12869524(我经常不上线的)   EMail:[email protected]