Entwickler-Ecke

Windows API - Pfad vom Hintergrundbild


Bergmann89 - So 06.07.08 23:32
Titel: Pfad vom Hintergrundbild
HI,

ich wollt fragen ob jmd weiß wo genau das Hintergrundbild unter WinXP gespeichert is.

MfG Bergmann.


Moderiert von user profile iconNarses: Topic aus VCL (Visual Component Library) verschoben am So 06.07.2008 um 23:38


Marc. - So 06.07.08 23:46

Sofern es sich nicht um ein Bitmap-Bild unter C:\Windows handelt:

Ist das Hintergrundsbild doch ein Bitmap und befindet sich im Ordner C:\Windows:


Der Pfad ließe sich auch über die Registry bestimmen. ;)

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
uses registry;

function GetBackgroundFolder: string;
  const
    KEY   = 'Control Panel\Desktop';
    VALUE = 'Wallpaper';
  var
   Registry: TRegistry;
begin
  with TRegistry.Create do
  try
    RootKey := HKEY_CURRENT_USER;

    if OpenKey(KEY,False) then
      Result := ReadString(VALUE)
    else
      Result := 'KEY NOT FOUND';
   finally
    Free;
   end;
end;


cu
Marc


Bergmann89 - Mo 07.07.08 12:42

HI,

danke für die vielen Lösungen ^^
ich nekm die mit der Regestrie, denn bei
C:\Dokumente und Einstellungen\%USERNAME%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper1.bmp
is bei mir nich das Bild was ich zur Zeit hab, sondern immer das vorhergehende?!

MfG Bergmann.


Marc. - Mo 07.07.08 13:05

user profile iconBergmann89 hat folgendes geschrieben:
bei
C:\Dokumente und Einstellungen\%USERNAME%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper1.bmp
is bei mir nich das Bild was ich zur Zeit hab, sondern immer das vorhergehende?!

Das sollte eigentlich nicht so sein. Wenn Du ein Standard Bmp unter C:\Windows, wie z.B. Angler.Bmp auswählst, verändert sich Wallpaper1.bmp natürlich nicht.
Jeder Benutzer mit einem eigenen Konto kann sich zudem ein eigenes Hintergrundsbild einrichten. Hast Du evlt. das Konto zwischendurch gewechselt?
Kann den Fehler leider nicht nachvollziehen. :nixweiss:


Bergmann89 - Mo 07.07.08 14:52

hab nur ein konto, also kömmer das ausschließen.
liegt es vlt. daran das ich das Hintergrundbild mit

Delphi-Quelltext
1:
SystemParametersInfo(SPI_SETDESKWALLPAPER, 1, PChar(TempFile), SPIF_UPDATEINIFILE);                    

gestezt hab?

MfG Bergmann.


Yogu - Mo 07.07.08 15:48

user profile iconBergmann89 hat folgendes geschrieben:
liegt es vlt. daran das ich das Hintergrundbild mit

Delphi-Quelltext
1:
SystemParametersInfo(SPI_SETDESKWALLPAPER, 1, PChar(TempFile), SPIF_UPDATEINIFILE);                    

gestezt hab?

Probier's doch aus :idea:


Bergmann89 - Mo 01.09.08 00:15

HI,
user profile iconMarc. hat folgendes geschrieben:
[...]
Der Pfad ließe sich auch über die Registry bestimmen. ;)

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
uses registry;

function GetBackgroundFolder: string;
  const
    KEY   = 'Control Panel\Desktop';
    VALUE = 'Wallpaper';
  var
   Registry: TRegistry;
begin
  with TRegistry.Create do
  try
    RootKey := HKEY_CURRENT_USER;

    if OpenKey(KEY,False) then
      Result := ReadString(VALUE)
    else
      Result := 'KEY NOT FOUND';
   finally
    Free;
   end;
end;
[...]


geht das auf unter Vista??

MfG Bergmann.