Hola, tengo la siguiente duda, no se como hacer para registrar mi simple editor de archivo de texto, para que mediante un menu contextual se abra el archivo de texto con el programa.
Como se puede hacer esto ??
1 salu2
Publicado:
Mie Jun 18, 2008 2:42 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Como registrar programa en el registro
Anuncios
mofongo escribió:
Hola, tengo la siguiente duda, no se como hacer para registrar mi simple editor de archivo de texto, para que mediante un menu contextual se abra el archivo de texto con el programa.
Como se puede hacer esto ??
1 salu2
En primer lugar tienes que abrir el editor del registro de Windows, desde "Inicio" - "Ejecutar", poniendo "regedit".
Luego accede a la clave
HKEY_CLASSES_ROOT
luego
*
y a continuación
shell
Una vez que estés posicionado en esa clave:
HKEY_CLASSES_ROOT\*\shell
creas una nueva clave, en el valor de la clave pon el nombre que quieras que aparezca al pulsar con el botón derecho del ratón. Por último, dentro de la clave creada aparecerá un valor que pone "(Predeterminado)" le haces doble clic y escribes ahí la ruta del ejecutable de tu aplicación. Para pasarle como parámetro el fichero en el que el usuario hace doble clic deberás añadir "%1" después del nombre del fichero.
Como ejemplo hemos añadido al menú contextual la posibilidad de ejecutar nuestra aplicación AjpdSoft Hash, para obtener el Hash de un fichero, con lo cual en el regedit pondremos algo así:
Si introduces el %1 entre comillas dobles, de la siguiente forma:
E:\Programas\Hash\ajpdsoftHash.exe "%1"
Conseguiras que aunque la ruta lleve espacios, Delphi lo trate como un solo parámetro. Si no pones las comillas, cuando el usuario pulse con el botón derecho del ratón sobre un fichero que tenga espacios en blanco o esté en una ruta con espacios en blanco, la aplicación Delphi recibirá esto como un parámetro por cada palabra de la ruta y nombre de fichero.
Por último, en la aplicación Delphi que desarrolles tendrás que "capturar" el valor pasado como parámetro en "%1", de la siguiente forma:
Código:
var
i : integer;
ruta : string;
begin
if ParamCount > 0 then
begin
ruta := '';
for i := 1 to ParamCount do
begin
if ruta = '' then
ruta := ruta + ParamStr(i)
else
ruta := ruta + ' ' + ParamStr(i);
end;
txtFichero.Text := ruta;
bHashFicheroClick(Self);
end;
end;
El el código fuente en Delphi, el hecho de recorrer y concatenar todos los parámetros es porque si no pones el %1 entre comillas, Delphi interpretará que cada palabra separada por un espacio es un parámetro.
Al final, quedará algo así:
Ultima edición por alonsojpd el Mie Jun 18, 2008 10:45 pm, editado 1 vez
Publicado:
Mie Jun 18, 2008 9:49 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Como registrar programa en el registro
Anuncios
Si quieres hacer lo anterior para carpetas, para que al pulsar con el botón derecho del ratón sobre una carpeta también aparezca tu aplicación, deberás acceder a la siguiente clave del registro de configuraciones de Windows:
HKEY_CLASSES_ROOT\Directory\shell
Y ahí crear una nueva clave con el nombre que quieras, dentro de esta estará el valor "(Predeterminado)" que será el que establezca lo que aparecerá al pulsar con el botón derecho del ratón sobre una carpeta (menú contextual de Windows). Después tendrás que añadir una nueva clave dentro de la anterior creada, con el nombre "command", dentro de ésta, en el valor "(Predeterminado)" indicarás la ruta de tu ejecutable seguida de "%1", algo así:
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A