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;