скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Перечислить ключи реестра



Оформил: DeeCo

{ 
  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;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook