AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wert aus der Registry lesen

Ein Thema von xthing · begonnen am 23. Mai 2007 · letzter Beitrag vom 23. Mai 2007
Antwort Antwort
xthing

Registriert seit: 3. Jun 2006
69 Beiträge
 
#1

Wert aus der Registry lesen

  Alt 23. Mai 2007, 14:44
Hi Leute,

ich habe ein kleines Problem und zwar muss ich einen Wert aus der Registry auslesen. Wie das funktioniert weiß ich, jedoch ist es so, dass der Wert den ich auslesen will, keinen Namen besitzt.

Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
var
  registry_val: TRegistry;
  Key : String;
  Key_Val : String;
begin
registry_val := TRegistry.Create();
Key := 'HKEY_CLASSES_ROOT\acrobat\DefaultIcon';
Key_Val := TStrings.Create;
  try
    if registry_val.OpenKeyReadOnly(Key) then
    begin
      Key_Val := registry_val.ReadString('');
      registry_val.CloseKey;
    end;
  finally
    FreeAndNil(registry_val);
  end;

end;
Der Funktion .ReadString(''), muss ich den Valuenamen übergeben. In dem bestimmten REgistryeintrag ist jedoch nur: HKEY_CLASSES_ROOT\acrobat\DefaultIcon\ vorhanden und unter Valuenamen 'ab(Standard)', der aber nicht als Valuenamen verwendet wird. Wie kann diesen Wert nun auslesen?

Danke für Eure Hilfe.

Grüße
xthing
  Mit Zitat antworten Zitat
Benutzerbild von argonix
argonix

Registriert seit: 28. Feb 2007
257 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Wert aus der Registry lesen

  Alt 23. Mai 2007, 15:04
Hi xthing! Ich hoffe, ich habe deine Frage so richtig verstanden: Der Wert "(Standard)" in der Registry ist nur ein Anzeigewert. Der eigentliche Wert ist ein Leerstring. In deinem Code greift das TRegistry Objekt auch auf HKCU anstatt den HKCR zu, da du keinen "Rootkey" definiert hast. "OpenKey" greift nur auf die Unterschlüssel des Rootkeys zu. Demnach muss die procedure so aussehen:
Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
var
  registry_val: TRegistry;
  Key : String;
  Key_Val : String;
begin
registry_val:=TRegistry.Create;
Key:='acrobat\DefaultIcon';
with registry_val do
  begin
    try
      Rootkey:=HKEY_CLASSES_ROOT;
      if OpenKey(key,false) then
      begin
      Key_Val := registry_val.ReadString('');
      end;
    except
ShowMessage('Es ist ein Fehler aufgetreten!');
end;
  end;
registry_val.Free;
end;
Matthias
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:21 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