{ This example demonstrates how to enumerate all registry keys from a certain key (here: HKEY_CURRENT_USER) } { Dieses Beispiel listet alle Eintrage eines bestimmten Schlussels in der Registrierung auf. (hier: HKEY_CURRENT_USER) } usesRegistry; procedure
TForm1.Button1Click(Sender: TObject); var
indent: Integer; procedure
EnumAllKeys(hkey: THandle); var
l: TStringList; n: Integer; begin
Inc(indent, 2); with
TRegistry.Create do
try
RootKey := hkey; OpenKey(EmptyStr, False); l := TStringList.Create; try
GetKeynames(l); CloseKey; for
n := 0 to
l.Count - 1 do
begin
memo1.Lines.Add(StringOfChar(' ', indent) + l[n]); if
OpenKey(l[n], False) then
begin
EnumAllKeys(CurrentKey); CloseKey; end
; end
; finally
l.Free end
; finally
Free; end
; Dec(indent, 2); end
; begin
Memo1.Clear; Memo1.Lines.Add('Keys under HKEY_CURRENT_USER'); indent := 0; Memo1.Lines.BeginUpdate; try
EnumAllKEys(HKEY_CURRENT_USER); finally
Memo1.Lines.EndUpdate; end
; end
;