Thema: Delphi Regestry durchscannen

Einzelnen Beitrag anzeigen

Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#1

Regestry durchscannen

  Alt 16. Dez 2004, 20:48
Hi DPler

Ich wollte mal die Regestry durchscannen und alle Schlüssel mit Value auslesen und in eine Datei schreiben. Mit allen HKEY ist des auch wundervoll gegangen nur nicht mit HKEY_LOCAL_MASCHINE. Ich glaube weil in dem HKEY zu viele Werte stehen und ich auf meine Variante einen Stack überlauf bekomme:

Code:
procedure TForm1.Search_Reg(Root : HKEY; Dir : String; var Liste : TStringList);
var
  reg : TRegistry;
  List, List2 : TStringList;
  I, I2 : Integer;
begin
  Application.ProcessMessages;
  sleep(0);
  Reg := TRegistry.Create;
  try
    reg.RootKey := Root;
    if reg.OpenKey(Dir, false) = false then exit;
    List := TStringList.Create;
    List2 := TStringList.Create;
    reg.GetKeyNames(List);
    reg.GetValueNames(List2);
    for I := 0 to List.Count-1 do
    begin
      Liste.Add(Dir+'\'+List[I]);
      for I2 := 0 to List2.Count-1 do
      begin
        Liste.Add(Dir+'\'+List[I]+'\'+List2[I2]{+'='+reg.ReadString(List[I2])});
      end;
      Search_Reg(Root, Dir+'\'+List[I], Liste);
    end;
  finally
    reg.Free;
  end;
end;
Es ist mir klar des es nicht die schönste Variante mit den ganzen fors ist aber ich wüsste ich nicht wie ich es anders machen könnte.

Vieleicht könntet ihr mir auch ein stückchen Code preisgeben.


gsh

[edit=Christian Seehase]Pushen erst nach 24 Stunden Mfg, Christian Seehase[/edit]
Alex
  Mit Zitat antworten Zitat