Hallo
also das was du machen willst gibt es schon in vereinfachter Form als Delphi Funktion.
Schau mal nach: GetKeynames()
Diese Funktion gibt alle Registry Schlüssel in einer Stringlist zurück.
Also ungefähr so:
Delphi-Quellcode:
with TRegistry.Create do
try
RootKey := hkey;
OpenKey(EmptyStr, False);
reglist := TStringList.Create;
try
GetKeynames(reglist);
CloseKey;
for I := 0 to reglist.Count - 1 do
begin
if OpenKey(reglist[I], False) then
begin
// tu was
end;
end;
finally
reglist .Free
end;
finally
Free;
end;