如何将子菜单项添加到Java应用程序的windows资源管理器上下文菜单中(例如7-Zip所做的)?
发布于 2008-12-16 00:02:12
我知道有两种方法。奇妙的方式是编写一个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中启动它。
当然,总是在黑客攻击之前备份你的注册表。
您的程序可以在安装期间或第一次运行时执行此操作。
发布于 2011-07-10 11:25:41
您也可以将java程序打包到像NSIS这样的安装程序中,并且可以使用NSIS脚本生成资源管理器上下文菜单。
https://stackoverflow.com/questions/370114
复制相似问题