AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Hintergrundbild ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Hintergrundbild ermitteln

Ein Thema von p3ps1 · begonnen am 3. Feb 2004 · letzter Beitrag vom 5. Feb 2004
Antwort Antwort
Seite 1 von 2  1 2      
p3ps1

Registriert seit: 16. Dez 2003
Ort: Recklinghausen
87 Beiträge
 
Delphi 6 Enterprise
 
#1

Hintergrundbild ermitteln

  Alt 3. Feb 2004, 15:51
Es wird ganz oft beschrieben wie ich das Hintergrundbild meines Desktops ändere.
Aber wie ermittle ich das aktuelle Bild? Das müsste ich ja irgendwie aus der Registry auslesen können. Weiss da wer eine Funktion für? Also z.B.

Delphi-Quellcode:
 bild:TPicture
         ...
        bild:=getaktuellesbild;
[edit=Luckie]Delphi-Tags korrigiert. Mfg, Luckie[/edit]
Es geht schief was nur schiefgehen kann
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Hintergrundbild ermitteln

  Alt 3. Feb 2004, 15:53
Such dir den Wert in der Registry und dann kuckt dir mal Tregistry in der Hilfe an.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
p3ps1

Registriert seit: 16. Dez 2003
Ort: Recklinghausen
87 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Hintergrundbild ermitteln

  Alt 3. Feb 2004, 16:18
Ich hab ja schon versucht das in der Registry zu finden.
So weit ich weiss ist das ja unter HKEY_CURRENT_USER/Control_Panel/Desktop
aber da hab ich mehrere gefunden. Irgendwie nur nicht das Rcihtige
Es geht schief was nur schiefgehen kann
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#4

Re: Hintergrundbild ermitteln

  Alt 3. Feb 2004, 17:37
Zitat von p3ps1:
So weit ich weiss ist das ja unter HKEY_CURRENT_USER/Control_Panel/Desktop
aber da hab ich mehrere gefunden. Irgendwie nur nicht das Rcihtige
Richtig. Bei mir gibt´s da einen Eintrag, der auch "WallPaper" heißt.
  Mit Zitat antworten Zitat
p3ps1

Registriert seit: 16. Dez 2003
Ort: Recklinghausen
87 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Hintergrundbild ermitteln

  Alt 5. Feb 2004, 22:01
ich blick bei der registry irgendwie überhaupt nicht durch
mit welchem befehl komm ich denn jetzt zum beispiel an das hintegrundbild?
HKEY_CURRENT_USER/Control_Panel/Desktop/wallpaper
Es geht schief was nur schiefgehen kann
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Hintergrundbild ermitteln

  Alt 5. Feb 2004, 22:08
Kuck dir aml in der Hilfe TRegistry an und ganz besonders die Methode TRegistry.ReadString.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Helpliner

Registriert seit: 6. Aug 2003
Ort: Hamburg
84 Beiträge
 
Delphi 7 Personal
 
#7

Re: Hintergrundbild ermitteln

  Alt 5. Feb 2004, 22:16
Also ich würde das folgendermaßen machen (angelehnt an das Registry Tutorial auf Delphi-Sorce.de.


Delphi-Quellcode:
uses Registry;

procedure TForm1.FormCreate(Sender: TObject);
var regist: TRegistry;
begin
  regist:=TRegistry.Create;
  regist.RootKey:=HKEY_CURRENT_USER;
  try
    regist.OpenKey('Control Panel\Desktop\', false);
    Edit1.Text := regist.ReadString('Wallpaper');
  except
    Edit1.Text := ('Fehler beim lesen');
  end;
  regist.free;
end;
Das Problem bei der Sache ist das als Wert immer (ausser wenn du kein Hintergrundbild definiert hast) der Wert:

C:\Dokumente und Einstellungen\<Benutzername>\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper1 .bmp

herauskommen wird, da sich Windows das Hintergrundbild das du auswählst immer dorthin kopiert.
VORSICHT: blutiger Anfänger!

Ähnlichkeiten mit tatsächlich funktionierendem Code sind rein zufällig und definitiv unbeabsichtigt.
  Mit Zitat antworten Zitat
p3ps1

Registriert seit: 16. Dez 2003
Ort: Recklinghausen
87 Beiträge
 
Delphi 6 Enterprise
 
#8

Re: Hintergrundbild ermitteln

  Alt 5. Feb 2004, 22:18
Das war genau das was ich gesucht habe!
Vielen Dank
Es geht schief was nur schiefgehen kann
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Hintergrundbild ermitteln

  Alt 5. Feb 2004, 22:32
Besser ist aber das:
Delphi-Quellcode:
uses
  Registry;

function GetWallpaper: String;
var
  s: String;
  regist: TRegistry;
begin
  s := '';
  // wir wollen nur lesen
  regist:=TRegistry.Create(KEY_READ);
  try
    regist.RootKey:=HKEY_CURRENT_USER;
    // nur weitermachen, wenn Schlüssel geöffnet werden konnte
    // except hier unnötig
    if regist.OpenKey('Control Panel\Desktop\', false) then
      s := regist.ReadString('WallPaper');
  finally // regist Objekt auf alle Fälle wieder freigeben
    FreeAndNil(regist);
  end;
  result := s;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Caption := GetWallpaper();
end;
Das except ist unnötig, OpenKey liefert True zurück, wenn es geklappt hat. Und in Helpliners Code wird bei einem Fehler das TRegistry Objekt nicht wieder freigegeben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#10

Re: Hintergrundbild ermitteln

  Alt 5. Feb 2004, 22:32
HI!

Das mit dem Pfad kann ich leider nicht bestätigen. Ich habe z.B. momentan das Hintergrundbild "Grüne Idylle". Das Bild Wallpaper1.bmp ist aber ein ganz anderes.

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz