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


Возлюбленная компьютерщика мурлычет ему на ушко:
- Любимый, ну когда, когда мы будем регистрироваться?
- А на хр#на? Я сейчас и так взломаю...

Не хуже M$ получается! У них свои типы файлов, и у нас будут свои! Всё, что для этого нужно - точно выполнять последовательность действий и научиться копировать в буфер, чтобы не писать все те коды, что будут тут изложены :))

Сначала, естественно, объявляем в uses модуль Registry.


uses
  Registry;

Затем в публичных объявлениях объявляем процедуру регистрации нового типа файлов:


public
  { Public declarations }
  procedure RegisterFileType(ext: string; FileName: string);

Описываем её так:


procedure TForm1.RegisterFileType(ext: string; FileName: string);
var
  reg: TRegistry;
begin
  reg:=TRegistry.Create;
  with reg do
  begin
    RootKey:=HKEY_CLASSES_ROOT;
    OpenKey('.'+ext,True);
    WriteString('',ext+'file');
    CloseKey;
    CreateKey(ext+'file');
    OpenKey(ext+'file\DefaultIcon',True);
    WriteString('',FileName+',0');
    CloseKey;
    OpenKey(ext+'file\shell\open\command',True);
    WriteString('',FileName+' "%1"');
    CloseKey;
    Free;
  end;
end;

Ну а по нажатию какого-нибудь батона регистрируем!


procedure TForm1.Button1Click(Sender: TObject);
begin
  RegisterFileType('DelphiWorld', Application.ExeName);
end;

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования