对于 Java 应用程序,如何将子菜单项添加到 Windows 资源管理器上下文菜单(例如 7-Zip)?
Thilo
问问题
9865 次
2 回答
18
我知道有两种方法可以做到这一点。奇特的方法是编写一个 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 中启动它。
当然,在破解它之前总是备份你的注册表。
您的程序可以在安装期间或首次运行时执行此操作。
于 2008-12-16T00:02:12.227 回答
4
您还可以将 java 程序打包在 NSIS 等安装程序中,您可以使用 NSIS 脚本生成资源管理器上下文菜单
于 2011-07-10T03:25:40.750 回答