Programar meu aplicativo para abrir arquivos a partir do Windows Explorer no Delphi
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 (ArquivoDaniel) e uma legenda que aparecerá no Windows Explorer (Arquivo do Daniel) } Reg.OpenKey('ArquivoDaniel', true); Reg.WriteString('', 'Arquivo do Daniel'); 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('ArquivoDaniel\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('ArquivoDaniel\DefaultIcon', true); Reg.WriteString('', ParamStr(0) + ',0'); { 0 = primeiro ícone } Reg.CloseKey; { Define as extensões de arquivos que serão abertos pelo meu aplicativo } { *.dpg } Reg.OpenKey('.dpg', true); Reg.WriteString('', 'ArquivoDaniel'); Reg.CloseKey; { *.dan } Reg.OpenKey('.dan', true); Reg.WriteString('', 'ArquivoDaniel'); 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 .dan; - Vá ao Windows Explorer e procure pelos arquivos criados; - Experimente dar um duplo-clique sobre qualquer dos arquivos com uma das extensões acima.
Existem outros recursos que poderão ser configurados. Porém, para começar, este já é um bom exemplo.