Quick Tips: Extensões de arquivos - Parte 1

 

Nesta quick tip veremos como identificar o aplicativo que é usado para abrir uma determinada extensão de arquivo.

 

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



Neste exemplo, vamos digitar a extensão no Edit de cima e ao clicarmos em Carregar Aplicação iremos exibir a aplicação que abre este tipo de arquivo.

 

Para isso, crie o seguinte método no formulário.

 

function TForm1.GetAppByExt(Extensao : string) : string;

var

   DescExt:string;

   Reg:TRegistry;

begin

  //Cria objeto de registro

  reg := TRegistry.Create;

  with reg do

  begin

    try

      //seta a chave root

      RootKey:=HKEY_CLASSES_ROOT;

      //abre a chave da extensão informada

      if OpenKeyReadOnly(Extensao) then

      begin

        //carrega a descrição da extensão

        DescExt:=ReadString('');

        CloseKey;

      end;

      //se encontrou a extensão

      if DescExt <> '' then

      begin

        //abre a chave da extensão e pega o comando de abertura da mesma

        //este comando é o caminho do exe do aplicativo

        if OpenKeyReadOnly(DescExt + '\Shell\Open\Command') then

        begin

          Result:= ReadString('') ;

        end

      end;

    finally

      Free;

    end;

  end;

end;

 

No clique do botão, inserimos o seguinte código:

 

procedure TForm1.GetAssocAppClick(Sender: TObject);

begin

  edtAplicacao.Text := GetAppByExt(edtExtensao.Text);

end;

 

O resultado é o seguinte:



É isso aí pessoal, vou ficando por aqui.

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

Ricardo Coelho