Quick Tips: Extensões de arquivos - Parte 2

 

Nesta quick tip veremos como associar uma extensão de arquivo com o nosso aplicativo.

 

Para este exemplo, adicione um edit e um botão no formulário, conforme mostrado na figura abaixo:




Neste exemplo vamos digitar a extensão no edit e quando clicarmos no botão iremos associar a mesma ao nosso aplicativo.

 

Crie o seguinte método no formulário:

 

procedure TForm1.RegisterExtApp(Extensao:String; Aplicacao:String) ;

var

  reg:TRegistry;

begin

  reg := TRegistry.Create;

  try

   reg.RootKey:=HKEY_CLASSES_ROOT;

   //Abre a chave

   reg.OpenKey('.' + Extensao, True) ;

   reg.WriteString('', Extensao + 'file') ;

   reg.CloseKey;

   //cria chave para o arquivo

   reg.CreateKey(Extensao + 'file') ;

   reg.OpenKey(Extensao + 'file\DefaultIcon', True) ;

   reg.WriteString('', Aplicacao + ',0') ;

   reg.CloseKey;

   //abre chave responsavel por comando de execução

   reg.OpenKey(Extensao + 'file\shell\open\command', True) ;

   reg.WriteString('',Aplicacao+' "%1"') ;

   reg.CloseKey;

  finally

   reg.Free;

  end;

 

  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil) ;

end;

 

Execute o aplicativo, digite a extensão .dev e clique no botão associar. Depois disso, vá no Explorer e crie um arquivo com extensão .dev e clique duas vezes no mesmo. O nosso aplicativo se abrirá.




Ao clicarmos duas vezes no arquivo teste.dev, o Windows abre o nosso aplicativo.

 

É isso aí pessoal, vou ficando por aqui.

Fiquem a vontade para criticar, tirar dúvidas e sugerir novos temas.
Abraço.

Ricardo Coelho