В Win32 нужно создать ключ системного реестра под корнем HKEY_CLASSES_ROOT, который указывает на расширение файла, командную строку и иконку для отображения.
uses Registry,
procedure TForm1.FileFormatAssociations;
var
reg: TRegistry;
FileExt : String;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CLASSES_ROOT;
reg.LazyWrite := false;
FileExt := '.jpg';
/Очистить ключ - Это важно !!!
reg.OpenKey(FileExt, true);
reg.WriteString('', FileExt);
reg.CloseKey;
//Вызывать программу, которой передается имя файла как первый параметр
reg.OpenKey(FileExt + '\shell\open\command', true);
reg.WriteString('', Application.ExeName + ' "%1"');
reg.CloseKey;
//Используем первую инонку в выполнимом файле для отображения
reg.OpenKey(FileExt + '\DefaultIcon', true);
reg.WriteString('', Application.ExeName + ',0');
reg.CloseKey;
reg.free;
end;
Комментарии