将jar添加到文件的右键菜单

复制代码
如题,将自己开发的jar文件添加到右键菜单里面,从而对任何文件右键点击都可以以自己的jar进行处理

创建一个.bat后缀的文件,将下面代码复制进去。

注意将MENU_NAME、JAR_PATH、JAR_ICON、JAVA_BIN_PATH这四个变量修改正确

保存后,选中这个文件,右键选择以管理员身份运行

复制代码
@echo off
set "MENU_NAME=菜单名称"
set "JAR_PATH=jar的文件绝对路径"
set "JAR_ICON=ico格式图片绝对路径"
set "JAVA_BIN_PATH=本地的jdk的bin目录绝对路径"

:: 空白区域的右键菜单 HKEY_CLASSES_ROOT\Directory\Background\shell
:: 任意文件夹的右键菜单 HKEY_CLASSES_ROOT\Directory\shell
:: 任意文件的右键菜单 HKEY_CLASSES_ROOT\*\shell
set "REGEDIT_PATH=HKEY_CLASSES_ROOT\*\shell"

::上面的需要根据自己的实际情况修改,下面的基本不用该

:: 占位符,使文件右键选择菜单时能将文件的路径传入Main方法的 String[] args
set "SELECTED_FILE=%%1"


:: 查询是否存在菜单项   
reg query "%REGEDIT_PATH%\%MENU_NAME%" > nul 2>&1
if %errorlevel% equ 0 (
    echo 删除已存在的菜单
    :: 如果存在,删除菜单项
    reg delete "%REGEDIT_PATH%\%MENU_NAME%" /f
)

:: 添加右键菜单项
reg add "%REGEDIT_PATH%\%MENU_NAME%" /t REG_SZ /v "" /d "%MENU_NAME%" /f
:: 设置菜单项的图标
reg add "%REGEDIT_PATH%\%MENU_NAME%" /t REG_SZ /v "Icon" /d "%JAR_ICON%" /f
:: 设置菜单项的启动程序,如果使用java.exe会多出现一个弹出框,所有使用javaw.exe
reg add "%REGEDIT_PATH%\%MENU_NAME%\command" /t REG_SZ /v "" /d "\"%JAVA_BIN_PATH%\javaw.exe\" -jar \"%JAR_PATH%\"  \"%SELECTED_FILE%\"" /f

pause

在java主程序的main方法的args里面就可以得到你启动jar时选择的文件

相关推荐
cpsvps_net4 小时前
美国服务器环境下Windows容器工作负载智能弹性伸缩
windows
甄超锋5 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
cpsvps7 小时前
美国服务器环境下Windows容器工作负载基于指标的自动扩缩
windows
网硕互联的小客服10 小时前
Apache 如何支持SHTML(SSI)的配置方法
运维·服务器·网络·windows·php
etcix10 小时前
implement copy file content to clipboard on Windows
windows·stm32·单片机
许泽宇的技术分享10 小时前
Windows MCP.Net:基于.NET的Windows桌面自动化MCP服务器深度解析
windows·自动化·.net
非凡ghost12 小时前
AMS PhotoMaster:全方位提升你的照片编辑体验
windows·学习·信息可视化·软件需求
mortimer13 小时前
一次与“顽固”外部程序的艰难交锋:subprocess 调用exe踩坑实录
windows·python·ai编程
gameatp15 小时前
从 Windows 到 Linux 服务器的全自动部署教程(免密登录 + 压缩 + 上传 + 启动)
linux·服务器·windows
穷人小水滴15 小时前
在 windows 运行 flatpak 应用 (WSL)
linux·windows·ubuntu