![]() |
Windows Desktop Hintergrund ändern?
Hallo Gemeinde,
gibt es eine Möglichkeit, mit Delphi den Windows-XP-Desktop-Hintergrund zu ändern? Also irgendeine Routine, die dann aufgerufen werden kann und dann das ändert? Vielen Dank! |
Re: Windows Desktop Hintergrund ändern?
|
Re: Windows Desktop Hintergrund ändern?
|
Re: Windows Desktop Hintergrund ändern?
Natürlich geht das mit Delphi5. Musst halt nur RaiseLastWin32Error verwenden, anstatt RaiseLastOSError...
|
Re: Windows Desktop Hintergrund ändern?
Steht doch da (nee nee, Leute).
|
Re: Windows Desktop Hintergrund ändern?
Hi,
![]() Nur falls du das mit RaiseLastWin32Error nicht hin bekommst. :stupid: |
Re: Windows Desktop Hintergrund ändern?
Erstmal danke für die Antworten.
Ich habs jetzt nach dem ersten Link versucht - klappt nicht... Win32-API-Funktion ist fehlgeschlagen. Was hat das zu bedeuten? |
Re: Windows Desktop Hintergrund ändern?
Delphi-Quellcode:
So versucht?
procedure SetBackground(const AFilename: String);
begin if not SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(AFilename), SPIF_SENDCHANGE OR SPIF_UPDATEINIFILE) then RaiseLastWin32Error; End; |
Re: Windows Desktop Hintergrund ändern?
Delphi-Quellcode:
Im großen und ganzen ja, ich hab nur AFilename durch Dateiname ersetzt.
procedure SetBackground(const Dateiname: String);
begin if not SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(Dateiname), SPIF_SENDCHANGE OR SPIF_UPDATEINIFILE) then RaiseLastwin32Error; End; Der Fehler tritt alle 10sec auf... Der Dateiname wird mit
Delphi-Quellcode:
übergeben, und zwar aus einem Button raus.
SetBackground(Dateiname);
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin Dateiname:= edit3.text; SetBackground(Dateiname); end; |
Re: Windows Desktop Hintergrund ändern?
Und was steht in dem Edit?
|
Re: Windows Desktop Hintergrund ändern?
Zitat:
|
Re: Windows Desktop Hintergrund ändern?
Mom, ich test das mal.
|
Re: Windows Desktop Hintergrund ändern?
Liste der Anhänge anzeigen (Anzahl: 1)
Bei mir hat das mit JPEGs irgendwie nie richtig funktioniert. Diese habe ich zurerst in eine BMP umwandeln müssen, da ging es.
Anbei findet ihr mein Konsolen-Programm, welches ich in der Uni nutze, da beim Start des OS nie das alte Wallpaper bleibt! |
Re: Windows Desktop Hintergrund ändern?
Mit Bitmaps geht es.
[edit] 2 late :? [/edit] |
Re: Windows Desktop Hintergrund ändern?
Aber bitte frag mich nicht wieso... Vielleicht macht es Vista ja anders. Ich versteh es selber nicht, zumal es JPGs schon ewig gibt. Aber gut, ein normales OS schafft es eben auch mit JPGs...
|
Re: Windows Desktop Hintergrund ändern?
Danke an shark für das Programm, werde mir das mal anschauen.
Und dann alles mit bitmaps versuchen. |
Re: Windows Desktop Hintergrund ändern?
Naja, in meiner Hilfe steht aber auch eindeutig
Zitat:
|
Re: Windows Desktop Hintergrund ändern?
Ich weiß, dass es eine andere Frage ist, aber weiß irgendwer warum das unbedingt eine Bitmap sein muss und kein anderes Format?! Ich finde die Umwandlung zwar nicht unbedingt so schwer - zumal ich die Funktion, soweit ich noch weiß, auch nur kopiert habe - aber das brauch es doch nicht unbedingt.
|
Re: Windows Desktop Hintergrund ändern?
Ruf doch mal in Oberschleißheim an ;)
Linux is like a wigwam - no Windows, no Gates, Apache inside |
Re: Windows Desktop Hintergrund ändern?
Also es tut so weder mit bmp noch mit jpg noch mit sonstwas.
ich habs jetzt damit versucht
Delphi-Quellcode:
Damit klappts auch. Nur wenn ich folgendes versuche geht nichts mehr :( - bzw. es flackert kurz und geht wieder zurück.
procedure TForm1.Button2Click(Sender: TObject);
begin if OpenDialog4.Execute then begin if not SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Pointer(OpenDialog1.FileName), SPIF_SENDWININICHANGE) then begin ShowMessage('Konnte folgende Datei nicht als Desktop-Hintergrund setzen: '+OpenDialog1.FileName); end; end; end;
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin if not SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Pointer(var_edit1), SPIF_SENDWININICHANGE) then //in var_edit1 steht als string die exakte Dateibezeichung begin // ShowMessage('Konnte folgende Datei nicht als Desktop-Hintergrund setzen: '+OpenDialog1.FileName); end; end; end; |
Re: Windows Desktop Hintergrund ändern?
Hi,
versuche es mal so:
Delphi-Quellcode:
if not SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, @var_edit1[1], SPIF_SENDWININICHANGE) then
|
Re: Windows Desktop Hintergrund ändern?
Zitat:
Jedenfalls meckert er und möchte einen Array-Typ angegeben haben. |
Re: Windows Desktop Hintergrund ändern?
Ich dachte var_edit1 ist bei dir ein Ansistring
Delphi-Quellcode:
Mit deinem Code müsste es eigentlich auch gehen, steht in var_edit1 überhaupt ein gültiger Dateipfad drin?
var
var_edit1: AnsiString; |
Re: Windows Desktop Hintergrund ändern?
Zitat:
Und in var_edit1 steht ein korrekter Pfad drin, der mittels OpenDialog festgelegt wurde. Außerdem wird für ca. 1 sec der HG ja auch gewechselt...nur springt dann wieder um. Ich kann gerne bei Bedarf mal den kompletten QT posten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz