如何为Java应用程序的Windows资源管理器添加上下文菜单?

时间:2008-12-15 23:55:36

标签: java windows contextmenu windows-explorer

如何为Java应用程序添加子菜单项到Windows资源管理器上下文菜单(例如7-Zip)?

2 个答案:

答案 0 :(得分:16)

我知道有两种方法可以做到。这种奇特的方式是编写一个windows shell扩展,这就是powerarchiver,winzip等我认为这样做的方法(这涉及运行代码来确定上下文菜单项将取决于所选择的文件)。

对于简单的功能,简单的方法是在注册表中添加一个条目:

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

其中<file type>是此上下文菜单应应用于的文件,即*,。mdb,.doc

<display text>您要在上下文菜单中显示的内容。

然后将默认字符串添加为您要从上下文菜单启动的应用程序的路径,并且可以使用%1来引用当前选定的文件,即我使用的MS Access:

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

然后为我选择的任何文件(因此*)添加一个上下文菜单项,这允许我在MS Access 2000中启动它。

当然,在黑客入侵之前总是备份您的注册表。

您的程序可以在安装期间或首次运行时执行此操作。

答案 1 :(得分:4)

您也可以在NSIS等安装程序中打包java程序,并且可以使用NSIS脚本生成资源管理器上下文菜单