Domanda

Come si potrebbe fare per aggiungere una voce di sottomenu al menu contestuale di Windows Explorer (come ad esempio 7-Zip fa) per un'applicazione Java?

È stato utile?

Soluzione

Sono a conoscenza di due modi per farlo. Il modo in cui fantasia è quello di scrivere un Windows Shell Extension, che è come PowerArchiver, WinZip, ecc farlo credo che (si tratta di esecuzione di codice per determinare ciò che le voci del menu contestuale sarà dipendente dal file scelto).

Il modo più semplice, per la semplice funzionalità, è possibile aggiungere una voce nel Registro di sistema:

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

Dove <file type> è che i file menu di contesto si dovrebbe applicare ai cioè *, .mdb, .doc

e

<display text> ciò che si desidera visualizzare nel menu di contesto.

Quindi aggiungere la stringa di default come un percorso per l'applicazione che si desidera avviare dal menu contestuale, ed è possibile utilizzare% 1 per fare riferimento al file selezionato vale a dire per MS Access che uso:

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

Aggiunge quindi una voce di menu contestuale per qualsiasi file seleziono (da qui il *), che mi permette di lanciare in MS Access 2000.

Naturalmente, sempre il backup del registro prima di hacking.

Il programma potrebbe fare questo durante l'installazione, o al primo avvio.

Altri suggerimenti

Si potrebbe anche confezionare il programma Java in un programma di installazione, come NSIS e si potrebbe utilizzare lo script NSIS per generare menu contestuale di Explorer

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top