How can I add a context menu to the Windows Explorer for a Java application?

前端 未结 2 1149
眼角桃花
眼角桃花 2020-11-29 03:53

How would one go about adding a submenu item to the windows explorer context menu (like for example 7-Zip does) for a Java application?

相关标签:
2条回答
  • 2020-11-29 04:32

    I am aware of two ways to do it. The fancy way is to write a windows shell extension, which is how powerarchiver, winzip etc do it I believe (this involves running code to determine what the context menu items will be dependent on the file chosen).

    The simple way, for simple functionality, is you can add an entry in the registry :

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

    Where <file type> is the files that this context menu should apply to i.e. *, .mdb, .doc

    and

    <display text> what you want to show in the context menu.

    Then add the default string as a path to the application you want to launch from the context menu, and you can use %1 to refer to the currently selected file i.e. for MS Access I use :

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

    This then adds a context menu item for any file I select (hence the *), which allows me to launch it in MS Access 2000.

    Of course, always back up your registry before hacking it.

    Your program could do this during install, or on first run.

    0 讨论(0)
  • You could also package the java program in an installer like NSIS and you could use NSIS script to generate explorer context menu

    0 讨论(0)
提交回复
热议问题