Como posso adicionar um menu de contexto para o Windows Explorer para uma aplicação Java?
-
21-08-2019 - |
Pergunta
Como um iria sobre como adicionar um item de submenu a do Windows Explorer menu de contexto (como por exemplo o 7-Zip faz) para uma aplicação Java?
Solução
Estou ciente de duas maneiras de fazer isso. A maneira extravagante é escrever um windows shell extensão, que é como PowerArchiver, WinZip etc fazê-lo Eu acredito que (isso envolve a execução de código para determinar o que os itens do menu de contexto será dependente do arquivo escolhido).
A maneira mais simples, para a funcionalidade simples, é que você pode adicionar uma entrada no Registro:
HKEY_CLASSES_ROOT\<file type>\shell\<display text>\command
Onde <file type>
é os arquivos que este menu de contexto deve aplicar-se ou seja *, .mdb, .doc
e
<display text>
o que você deseja mostrar no menu de contexto.
Em seguida, adicione a string padrão como um caminho para o aplicativo que deseja iniciar a partir do menu de contexto, e você pode usar% 1 para se referir ao arquivo selecionado ou seja, para MS Access I use:
HKEY_CLASSES_ROOT\*\shell\MS Access 2000\command
"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "%1"
Este, em seguida, adiciona um item de menu de contexto para qualquer arquivo que eu selecionar (daí o *), o que me permite lançá-lo em MS Access 2000.
Claro, sempre backup do seu registro antes de cortar-lo.
Seu programa poderia fazer isso durante a instalação, ou na primeira execução.
Outras dicas
Você também pode empacotar o programa java em um instalador como NSIS e você poderia usar o script NSIS para gerar menu de contexto explorer