На главную

Зарегистрировать расширение

Зарегистрировать расширение

ОГЛАВЛЕНИЕ    HOME  MAIL



Чтобы Windows открывала файлы с расширением "EXT" Вашей программой нужно зарегистрировать это расширение. Для этого в реестре нужно создать два раздела. Первый HKEY_CLASSES_ROOT\.ext. В нем, в параметре "по умолчанию" нужно написать "MyProg". В разделе KEY_CLASSES_ROOT\MyProg "по умолчанию" поставьте "Файл моей программы". Эта фраза будет отображаться в Проводнике в колонке "Тип". А в HKEY_CLASSES_ROOT\MyProg\Shell\Open\Command напишите "С:\MyProg.exe "%1"".

А при запуске программы проверяйте, нет ли в параметрах имени файла, а если есть, то откройте этот файл.

uses Registry;

procedure TForm1.FormCreate(Sender: TObject);
var
  Reg: TRegistry;
  FileName: string; 
begin
  Reg := nil;
  try
    Reg := TRegistry.Create;
    Reg.RootKey := HKEY_CLASSES_ROOT;
    Reg.OpenKey('\.ext', true);
    Reg.WriteString('', 'MyProg');
    Reg.CloseKey;
    Reg.OpenKey('\MyProg', true);
    Reg.WriteString('', 'My document');
    Reg.CloseKey;
    Reg.OpenKey('\MyProg\Shell\Open\Command', true);
    Reg.WriteString('', ParamStr(0) + ' "%1"');
    Reg.CloseKey;
    Reg.OpenKey('\MyProg\DefaultIcon', true);
    Reg.WriteString('', ParamStr(0) + ', 1');
    Reg.CloseKey;
  finally
    if Assigned(Reg) then Reg.Destroy;
  end;
  if ParamCount > 0 then begin
    FileName := ParamStr(1);
    if FileExists(FileName)
      then Memo1.Lines.LoadFromFile(FileName)
      else ShowMessage(FileName + ' не существует');
  end;
end;

главная страницазадать вопрос
email: delphi4all@narod.ru
Hosted by uCoz