...

Листинг 7.20.

Регистрация типа файла

procedure RegisterAppDocuments();

var

reg: TRegistry;

begin

reg := TRegistry.Create();

reg.RootKey := HKEY_CLASSES_ROOT;

//Вносим информацию о нашем типе файла в реестр

//..само расширение

if reg.OpenKey(\'.mydoc\', True) then

begin

reg.WriteString(\'\', \'TricksDelphi.DocumentSample\');

reg.CloseKey();

end;

//..описание типа файла

if reg.OpenKey(\'TricksDelphi.DocumentSample\', True) then

begin

reg.WriteString(\'\', \'Документ TricksDelphi.DocumentSample\');

reg.CloseKey();

end;

//..значок для файлов MYDOC-типа

if reg.OpenKey(\'TricksDelphi.DocumentSample\DefaultIcon\', True)

then

begin

reg.WriteString(\'\', Application.ExeName + \', 1\');

reg.CloseKey();

end;

//..приложение, открывающее MYDOC-документ

if reg.OpenKey(\'TricksDelphi.DocumentSample\Shell\Open\Command\',

True)

then

begin

reg.WriteString(\'\', Application.ExeName + \' %1\');

reg.CloseKey();

end;

reg.Free();

end;

Результат работы этой процедуры показан на рис. 7.10.

Рис. 7.10. Результат регистрации типа файла

Теперь при выборе в файловой оболочке наше приложение запускается с путем выбранного файла (правда, в формате 8.3) в качестве аргумента командной строки. Как перевести путь из короткой формы в длинную (если это вообще надо), рассказано в разд. 4.2. Если вы не знакомы с тем, как получать доступ к аргументам командной строки, можете взглянуть на листинг 7.21 (тут происходит отображение имени открываемого файла в текстовом поле на форме).

Загрузка...