Forum: Sonstige Fragen zu Delphi
by Matze,
9. Mai 2005
Hat denn keiner eine Idee? :gruebel:
Forum: Sonstige Fragen zu Delphi
by Matze,
6. Mai 2005
Gibt es keine Möglichkeit, unter jedem Windows den Desktop (nicht die ListView, sondern das Canvas (?) dahinter) zu aktualisieren, damit eine Änderung des Hintergrundbildes sofort ersichtlich ist?
Forum: Sonstige Fragen zu Delphi
by Matze,
4. Mai 2005
Achso, hmm, aber jpg-Dateien konnte ich unter Win 9x nicht verwenden. Und da Active Desktop bei manchen zu Problemen führt, möchte ich darauf verzichten und vom IE möchte ich auch nicht abhängig sein.
Forum: Sonstige Fragen zu Delphi
by Matze,
4. Mai 2005
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. :gruebel:
procedure TForm1.ChangeWallpaper(sWallPaperBMPPath: string; bTile: Boolean);
var
reg: TRegIniFile;
begin
reg := TRegIniFile.Create('Control Panel\Desktop');
try
Forum: Sonstige Fragen zu Delphi
by Matze,
4. Mai 2005
Was meinst du damit genau?
InvalidateRect(0,nil,true);
aktualisiert ja bei den meisten Windows Versionen den Desktop.
Forum: Sonstige Fragen zu Delphi
by Matze,
4. Mai 2005
Danke, doch funktionieren beide Möglichkeiteh nicht einmal unter Windows XP. :?
Forum: Sonstige Fragen zu Delphi
by Matze,
4. Mai 2005
Genau damit ändere ich ihn, aber es geht, wie gesagt, unter Windows 2000 nicht sofort, sondern erst beim ab-/anmelden.
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
Forum: Sonstige Fragen zu Delphi
by Matze,
4. Mai 2005
Hallo!
Bisher habe ich den Desktop mittels
InvalidateRect(0,nil,true);
aktualisiert, was eigentlich auch recht gut funktioniert.
Ändere ich ein Hintergrundbild in Windows 98 oder XP und führe diesen Code aus, dann ändert sich das Hintergrundbild sofort. Unter Windows 2000 nicht, sondern erst, wenn man sich neu anmeldet.
Wie kann man allgemein den Desktop aktualisieren?