启用active桌面,应该有相关的注册表操纵方法,自己慢慢找吧,呵呵

解决方案 »

  1.   

    JPG必须ActiveDesktop才支持!代码如下:
    uses comobj,shlobj;procedure TForm1.Button1Click(Sender: TObject); 
    var 
    ADeskTop:IActiveDesktop; 
    wallpaper:PwideChar; 
    begin 
    ADeskTop:=CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop; 
    wallpaper:='d:\2.bmp'; 
    ADeskTop.SetWallpaper(wallpaper,0); 
    ADeskTop.ApplyChanges(AD_APPLY_ALL); 
    end; 
      

  2.   

    设置活动桌面的也在这儿:
    function SetActiveDesktop(const b: Boolean): integer;
    var
      Desktop: IActiveDesktop;
      Info: TComponentsOpt;
    begin
      DeskTop := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
      Result := GetLastError;
      info.dwSize := sizeof(info);
      info.fActiveDesktop := b;
      info.fEnableComponents := false;
      Desktop.SetDesktopItemOptions(info, 0);
      DeskTop.ApplyChanges(AD_APPLY_ALL);
    end;function SetActiveDesktopWallpaper(FileName: string): integer;
    var
      Desktop: IActiveDesktop;
      Temp: WideString;
    begin
      DeskTop := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
      Result := GetLastError;
      Temp := FileName;
      Desktop.SetWallpaper(PWideChar(Temp), 0);
      DeskTop.ApplyChanges(AD_APPLY_ALL);
    end;