Está en la página 1de 2

inclua na se��o uses: registry

problema: criei um editor de textos no delphi. agora gostaria que o windows


explorer
usasse este editor para abrir arquivos com a extens�o .dpg e .dan. como fazer?
solu��o: 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.
observa��es: existem outros recursos que poder�o ser configurados. por�m, para
come�ar, este j� � um bom exemplo.