¿Cómo puedo agregar un menú contextual para el Explorador de Windows para una aplicación Java?

StackOverflow https://stackoverflow.com/questions/370114

Pregunta

¿Cómo uno va sobre la adición de un elemento de submenú al menú contextual de Windows Explorer (como, por ejemplo, 7-Zip lo hace) para una aplicación Java?

¿Fue útil?

Solución

Soy consciente de dos formas de hacerlo. La forma elegante es escribir un shell de Windows extensión, que es la forma en PowerArchiver, etc. WinZip lo hace creo (esto implica la ejecución de código para determinar cuáles son los elementos del menú contextual dependerán de archivo elegido).

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

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

Cuando es <file type> los archivos que este menú de contexto debe aplicarse a decir *, .mdb, .doc

y

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

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

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

Esto entonces agrega 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.

Otros consejos

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top