Programar meu aplicativo para abrir arquivos a partir do Windows Explorer
Inclua na seção uses: Registry
Para fazer isto será necessária a criação de algumas chaves no Registro do Windows. O exemplo abaixo cria todas as chaves necessárias.

- Coloque um TButton e no evento OnClick dele coloque o código abaixo:

procedure TForm1.Button1Click(Sender: TObject);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.LazyWrite := false;
Define o nome interno (ArquivoAluno) e uma legenda que aparecerá no Windows Explorer
(Arquivo do Aluno)
Reg.OpenKey('ArquivoAluno', true);
Reg.WriteString('', 'Arquivo do Aluno');
Reg.CloseKey;
{ Define o comando a ser executado quando abrir um arquivo pelo Windows Explorer
(NomeDoExe %1). O símbolo
%1 indica que o arquivo a ser aberto será passado como primeiro parâmetro para o aplicativo -
ParamStr(1). }
Reg.OpenKey('ArquivoAluno\shell\open\command', true);
Reg.WriteString('', ParamStr(0) + ' %1'); { NomeDoExe %1 }
Reg.CloseKey;
{ Define o ícone a ser usado no Windows Explorer:
0 - primeiro ícone do EXE
1 - segundo ícone do EXE, etc }
Reg.OpenKey('ArquivoAlunol\DefaultIcon', true);
Reg.WriteString('', ParamStr(0) + ',0'); { 0 = primeiro ícone }
Reg.CloseKey;
{ Define as extensões de arquivos que serão abertos pelo aplicativo }
{ *.dpg }
Reg.OpenKey('.dpg', true);
Reg.WriteString('', 'ArquivoAluno');
Reg.CloseKey;
{ *.alu }
Reg.OpenKey('.alu', true);
Reg.WriteString('', 'ArquivoAluno');
Reg.CloseKey;
finally
Reg.Free;
end;
end;

- Coloque um TMemo;

- No evento OnShow do Form coloque o código abaixo:

procedure TForm1.FormShow(Sender: TObject);
begin
{ Se o primeiro parâmetro for um nome de arquivo existente... }
if FileExists(ParamStr(1)) then
{ Carrega o conteúdo do arquivo no memo }
Memo1.Lines.LoadFromFile(ParamStr(1));
end;

 

 


*** Para testar ***
- Execute este programa;
- Clique no botão para criar as chaves no Registro do Windows;
- Feche o programa;
- Crie alguns arquivos com as extensões .dpg e .alu;
- Vá ao Windows Explorer e procure pelos arquivos criados;
- Experimente dar um duplo-clique sobre qualquer dos arquivos com uma das extensões acima.

Observações
Existem outros recursos que poderão ser configurados. Porém, para começar, este já é um bom
exemplo.