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:
Fiquem a vontade para criticar, tirar dúvidas e sugerir novos temas.
Abraço.
Ricardo Coelho