Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Añadir entrada al menu contextual

2 views
Skip to first unread message

IRAD

unread,
Jul 7, 2002, 5:41:37 PM7/7/02
to
Hola, alguien tiene por ahí un trozo de código por el que se pueda añadir y
eliminar una entrada en el menú contextual del explorador del windows (no el
internet explorer, el explorador). Vamos, lo que quiero es que al hacer
click con el boton derecho sobre un archivo haya una opción para cargarlo
con mi programa.

Gracias.

IRAD


Gusti

unread,
Jul 7, 2002, 5:58:55 PM7/7/02
to
Puedes meter el acceso directo de tu programa en la carpeta "Send to" del
directorio de Windows o bien si el archivo tiene siempre la misma extensión
(o unas pocas diferentes), puedes agregarlo desde el Explorador de Windows:
Herramientas --> Opciones de carpeta --> Tipos de archivo --> Nuevo tipo, de
esta forma se abrirá cuando selecciones la opción "Abrir" del menú
contextual del botón derecho. Tendrás que poner al principio de tu programa
la linea: Command$= variable y luego abrir el fichero variable.
Saludos, Gusti

"IRAD" <cor...@supercable.es> escribió en el mensaje
news:1026078172.745323@seux119...

IRAD

unread,
Jul 7, 2002, 6:53:07 PM7/7/02
to
No es lo que buscaba Gusti. Yo lo que no quiero es precisamente tener que
hacer a mano estas operaciones, es decir, si yo distribuyo mi aplicación que
le voy a tener q decir a cada uno q se lo instale q se vaya a
herramientas.... etc?. Tampoco lo que busco es un 'enviar a'.
Crear una asociación de Windows ya lo se, de forma que para determinada
extensión se abra mi programa, pero lo que no se y es lo que busco es que
aparezca una línea en el menu contextual específicamente para mi programa.
Cuando uno instala el Winrar, para cualquier archivo en el menu contextual
se añaden las líneas de 'Add to archive...', y además si he pulsado sobre un
archivo ya comprimido me salen líneas para extraer el contenido. Eso es lo
que busco, poder añadir de forma personalizada este tipo de entradas
exclusivas para mi programa, de forma que pueda personalizarlas a placer.

Gracias de todas formas :))

IRAD

"Gusti" <gus...@hotmail.com> escribió en el mensaje
news:zQ2W8.303$UD3....@news.ono.com...

Killer Blade

unread,
Jul 12, 2002, 1:09:49 PM7/12/02
to
... y estando en es.comp.lenguajes.visual-basic, coge IRAD y suelta:

> No es lo que buscaba Gusti. Yo lo que no quiero es precisamente tener que
> hacer a mano estas operaciones, es decir, si yo distribuyo mi aplicación
> que le voy a tener q decir a cada uno q se lo instale q se vaya a
> herramientas.... etc?. Tampoco lo que busco es un 'enviar a'.
> Crear una asociación de Windows ya lo se, de forma que para determinada
> extensión se abra mi programa, pero lo que no se y es lo que busco es que
> aparezca una línea en el menu contextual específicamente para mi programa.
> Cuando uno instala el Winrar, para cualquier archivo en el menu contextual
> se añaden las líneas de 'Add to archive...', y además si he pulsado sobre
> un archivo ya comprimido me salen líneas para extraer el contenido. Eso es
> lo que busco, poder añadir de forma personalizada este tipo de entradas
> exclusivas para mi programa, de forma que pueda personalizarlas a placer.

Para ello tendrás que agregar un par de claves al registro. Te pongo un
ejemplo. Imagínate que hay un tipo de fichero .EXT, y en el registro tiene
esta estructura:

\- HKEY_CLASSES_ROOT
|- .ext
| (Predeterminado) = "extfile"
|
\- extfile
\- shell
||- open
|| (Predeterminado) = "Abrir"
|| Command = "C:\EXT\MiPrograma.Exe %1"
|
|- DefaultIcon
| (Predeterminado) = "C:\EXT\MiPrograma.Exe,0"

No sé si se entiende bien. Espero que sí.

Sólo agrégale un par de claves para que quede así:

\- HKEY_CLASSES_ROOT
|- .ext
| (Predeterminado) = "extfile"
|
\- extfile
\- shell
||- open
|| (Predeterminado) = "Abrir"
|| Command = "C:\Ruta\ElPrograma.Exe %1"
||
||- MiPrograma
|| (Predeterminado) = "Hacer lo que sea"
|| Command = "C:\EXT\MiPrograma.Exe %1"
|
|- DefaultIcon
| (Predeterminado) = "C:\Ruta\ElIcono.ico"

Con esto podrás añadir líneas personalizadas a los menús contextuales. Creo
que el Winzip utiliza además DLLs que detectan el tipo de fichero y según
eso muestra un menú u otro. Eso ya es meterle claves con valores CLSID y
demás, ahí no podría ayudarte.

Si me he equivocado en algo por favor que alguien me corrija y me disculpe
la ignorancia.

--
made by Killer Blade
usuario registrado de Linux nº 273354

"Por favor, espere mientras Windows configura sus programas para que Office
se ejecute más rápido en su equipo... ATENCIÓN: se ha encontrado StarOffice
instalado en su equipo. Espere un momento mientras Windows configura sus
programas para que se ejecuten más rápido que StarOffice..."

IRAD

unread,
Jul 14, 2002, 4:58:27 PM7/14/02
to
Muchas gracias Killer, le echaré un vistazo a lo q me comentas :)

IRAD


0 new messages