Как зарегистрировать расширение файла за своим приложением?
Опубликовал devprog на Октябрь 7, 2008
У начинающих программистов нередко возникает вопрос о том, как же привязать определённое расширение к своей программе, так чтобы файлы с такими расширением, открывались при помощи их программы. Это можно сделать и вручную, главное чтобы программа могла принять параметр в виде имени файла (об этом нужно позаботиться самому). Саму же регистрацию можно автоматизировать вот так:
Пример регистрирует расширение файла(.myext) – файлы этого типа будут открываться приложением MyApp.Exe. Также регнстрируется одно действие (action) по умолчанию для файлов этого типа и два дополнительных пункта контекстного меню, связанного с этим типом файлов. Возможно, потребуется перезайти в систему чтобы изменения вступили в силу.
Пример:
uses Registry;
procedure TForm1.Button1Click(Sender: TObject);
var R : TRegIniFile;
begin R := TRegIniFile.Create(»);
with R do begin RootKey := HKEY_CLASSES_ROOT;
WriteString(‘.myext’,»,’MyExt’);
WriteString(‘MyExt’,»,’Some description of MyExt files’);
WriteString(‘MyExt\DefaultIcon’,»,’C:\MyApp.Exe,0′);
WriteString(‘MyExt\Shell’,»,’This_Is_Our_Default_Action’);
WriteString(‘MyExt\Shell\First_Action’, »,’This is our first action’);
WriteString(‘MyExt\Shell\First_Action\command’,», ‘C:\MyApp.Exe /LotsOfParamaters %1′);
WriteString(‘MyExt\Shell\This_Is_Our_Default_Action’,», ‘This is our default action’);
WriteString(‘MyExt\Shell\This_Is_Our_Default_Action\command’, »,’C:\MyApp.Exe %1′);
WriteString(‘MyExt\Shell\Second_Action’, »,’This is our second action’);
WriteString(‘MyExt\Shell\Second_Action\command’, »,’C:\MyApp.Exe /TonsOfParameters %1′);
Free;
end;
end;
