Supongo que te refieres a que una determinada extensión de archivo aparezca en el explorador de Windows con un determinado icono, y que se abra con un determinado programa. Esto puede conseguirse a través de los registros del sistema, pero tendrás que hacerlo en cualquier ordenador que utilice el ejecutable hecho en delphi, e incluir el icono que utilizara en el directorio de tu programa. Para ello, bastaría que comprobaras en el evento "OnCreate" del form principal si estos registros ya están creados, y si no, crearlos.
Por ejemplo, si la extensión fuera ".jur":
Código Delphi
[-]Uses (...) ShlObj, Registry;
(...)
procedure TForm1.FormCreate(Sender: TObject);
var Registro: tRegistry;
begin
Registro := tRegistry.Create;
with Registro do
begin
RootKey := HKEY_CLASSES_ROOT;
if not OpenKey('.jur',False) then
begin
CreateKey('.jur');
OpenKey('.jur',False);
WriteString('','jur');
CloseKey;
CreateKey('jur');
OpenKey('jur',False);
WriteString('','Archivo personal de mi programa');
CloseKey;
CreateKey('jur\DefaultIcon');
OpenKey('jur\DefaultIcon',False);
WriteString('','C:\MiPrograma\MiIcono.ico,0');
CloseKey;
CreateKey('jur\Shell\Open');
OpenKey('jur\Shell\Open',False);
WriteString('', '&Abrir archivo personal');
CloseKey;
CreateKey('jur\Shell\Open\Command');
OpenKey('jur\Shell\Open\Command',False);
WriteString('', '"C:\MiPrograma\MiEjecutable.exe" "%1"');
CloseKey;
SHChangeNotify( SHCNE_ASSOCCHANGED,SHCNF_IDLIST,nil, nil);
end;
CloseKey;
Free;
end;
end;
Nota: La creación de los registros también la podria hacer el programa de instalación de tu aplicación.
Salu2.