Que tal,
no se si te he entendido bien pero a ver si esto lo que buscas: (sacado de trucomania)
Tal como hace el Winzip, (por ejemplo), que si en el explorer de Windows, al pulsar con el boton derecho
sobre un fichero, disponemos de una opcion en el menu para crear con el un fichero ZIP.
Con este truco, podras asociar a una (o varias) extensiones tu aplicacion, para que se comporte de igual
manera que el Winzip...
Sólo funciona con las extensiones ya registradas en Windows, pero usando el truco de registrar extensiones se arregla
Código Delphi
[-]
procedure InstalaMenuContextual(Extension, Comando, CaptionMenu : string);
var Registro : TRegistry;
Nombre : string;
begin
Registro := TRegistry.Create;
try
Registro.RootKey := HKEY_CLASSES_ROOT;
if Registro.OpenKeyReadOnly('\.' + Extension) then begin
Nombre := Registro.ReadString('');
if Nombre <> '' then
if Registro.OpenKey('\' + Nombre + '\shell', False) then
Registro.Access := KEY_READ or KEY_WRITE;
if Registro.OpenKey('APTprocess', True) then begin
Registro.WriteString('', CaptionMenu);
Registro.Access := KEY_READ or KEY_WRITE;
if Registro.OpenKey('command', True) then Registro.WriteString('', '"' + Comando + '" "%1"');
end;
end else Raise Exception.create('Lo siento, la extension no es conocida por Windows');
finally
Registro.Free;
end;
end;
Nota: debes incluir en el uses de tu aplicacion la clase Registry
Espero te sirva,
Saludos