Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Desktop Hintergrund ändern und aktualisieren

  Alt 4. Mai 2005, 15:22
Danke, nur geht der Code nicht unter Win 9x, da dort kein Active Desktop unterstützt wird.

Hier der komplette Code, der geht nun unter XP auch nicht mehr, obwohl ich nichts verändert habe.

Delphi-Quellcode:
procedure TForm1.ChangeWallpaper(sWallPaperBMPPath: string; bTile: Boolean);
var
  reg: TRegIniFile;
begin
  reg := TRegIniFile.Create('Control Panel\Desktop');
  try
    with reg do
    begin
      WriteString('', 'Wallpaper', sWallPaperBMPPath);
      WriteString('', 'TileWallpaper', IntToStr(Ord(bTile)));
    end;
  finally
    FreeAndNil(reg);
  end;
  SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);

  //Desktop aktualisieren
  InvalidateRect(0,nil,true);
end;
Nachtrag: Der Code lässt das Hintergrundbild verschwinden und macht ihn einfarbig, komisch.
Nachtrag 2: Ok, das lag an einer anderen Stelle im Programm, also das geht unter XP doch. Das Problem mit der Aktualisierung unter Win 2000 besteht jedoch weiterhin
  Mit Zitat antworten Zitat