2008-12-15 36 views

Respuesta

16

Conozco dos formas de hacerlo. La manera elegante es escribir una extensión de shell de Windows, que es cómo lo creo powerarchiver, winzip, etc. (esto implica ejecutar código para determinar qué elementos de menú de contexto dependerán del archivo elegido).

La forma más sencilla, por simple funcionalidad, es decir se puede añadir una entrada en el registro:

HKEY_CLASSES_ROOT\<file type>\shell\<display text>\command 

Dónde <file type> es los archivos que este menú contextual, es decir, debe aplicarse a *, .mdb, .doc

y

<display text> lo que desea mostrar en el menú contextual.

continuación, agregue la cadena por defecto como una ruta de la aplicación que desea iniciar desde el menú contextual, y se puede usar% 1 para referirse al decir, el archivo seleccionado en ese momento de MS Access que utilizo:

HKEY_CLASSES_ROOT\*\shell\MS Access 2000\command 
"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "%1" 
Este

continuación, añade un elemento de menú contextual para cualquier archivo selecciono (de ahí el *), lo que me permite lanzarlo en MS Access 2000.

por supuesto, siempre una copia de seguridad del registro antes de hackearlo.

Su programa podría hacer esto durante la instalación, o en la primera ejecución.

+0

Eso parece bastante simple, gracias. ¿Este método también admite la agrupación de entradas múltiples en un submenú? – Thilo

+0

¿Cómo se escribe una extensión de shell de Windows para hacer esto? – Tom

+3

¿Cómo se agrega una entrada de registro para carpetas y para todos los archivos (*. *)? – Tom

4

También puede empaquetar el programa Java en un instalador como NSIS y se podía utilizar NSIS script para generar menú contextual del explorador

Cuestiones relacionadas