Вот пример кода, взятый из Delphi World. Результатом выполнения будет список ключей раздела HKEY_CURRENT_USER, переданный в MEMO. Думаю, исправить пути для вас не составит особой трудности.
Цитата:
{ 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)}
uses
Registry;
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;
|