如何将上下文菜单添加到 Java 应用程序的 Windows 资源管理器中?
2022-09-02 04:17:55
如何将子菜单项添加到Java应用程序的Windows资源管理器上下文菜单(例如7-Zip)中?
如何将子菜单项添加到Java应用程序的Windows资源管理器上下文菜单(例如7-Zip)中?
我知道有两种方法可以做到这一点。花哨的方法是编写一个windows shell扩展,我相信这就是powerarchiver,winzip等如何做到这一点(这涉及运行代码以确定上下文菜单项将依赖于所选文件的内容)。
对于简单的功能,简单的方法是您可以在注册表中添加一个条目:
HKEY_CLASSES_ROOT\<file type>\shell\<display text>\command
此上下文菜单应应用于的文件在哪里,即 *、.mdb.doc<file type>
和
<display text>
要在上下文菜单中显示的内容。
然后将默认字符串添加为要从上下文菜单中启动的应用程序的路径,并且可以使用%1引用当前选定的文件,即对于MS Access I使用:
HKEY_CLASSES_ROOT\*\shell\MS Access 2000\command
"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "%1"
然后,这将为我选择的任何文件添加一个上下文菜单项(因此为*),这允许我在MS Access 2000中启动它。
当然,在黑客入侵之前,请务必备份注册表。
您的程序可以在安装期间或首次运行时执行此操作。
您还可以将java程序打包在NSIS等安装程序中,并且可以使用NSIS脚本生成资源管理器上下文菜单。