Delphi World - Взять все расширения из реестра и их описание
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Взять все расширения из реестра и их описание

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
 This Code will return the programs associated with each extension. 
 You can obviously modify it to search for a specific extension. 
}

 uses Registry;

 procedure TForm1.Button1Click(Sender: TObject);
 var
   reg: TRegistry;
   keys: TStringList;
   i: Integer;
   typename, displayname, server: string;
 begin
   memo1.Clear;
   reg := TRegistry.Create;
   try
     reg.rootkey := HKEY_CLASSES_ROOT;
     if reg.OpenKey('', False) then
     begin
       keys := TStringList.Create;
       try
         reg.GetKeyNames(keys);
         reg.CloseKey;
         {memo1.lines.addstrings(keys);}
         for i := 0 to keys.Count - 1 do
         begin
           if keys[i][1] = '.' then
           begin
             {this is an extension, get its typename}
             if reg.OpenKey(keys[i], False) then
             begin
               typename := reg.ReadString('');
               reg.CloseKey;
               if typename <> '' then
               begin
                 if reg.OpenKey(typename, False) then
                 begin
                   displayname := reg.ReadString('');
                   reg.CloseKey;
                 end;
                 if reg.OpenKey(typename + '\shell\open\command', False) then
                 begin
                   server := reg.ReadString('');
                   memo1.Lines.Add(Format('Extension: "%s", Typename: "%s", Displayname:"%s"' +
                                          #13#10'  Server: %s',
                                          [keys[i], typename, displayname, server]));
                   reg.CloseKey;
                 end;
               end;
             end;
           end;
         end;
       finally
         keys.Free;
       end;
     end;
   finally
     reg.Free
   end;
 end;
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования