应用程序打包jar后实现随系统开机启动

[size=medium][color=brown]我们写好的应用程序打包后,怎么让它随系统启动就运行呢?最简单最绿色的方法是把jar包拷贝到开始菜单中的“启动”文件夹下,这样系统启动后程序就可以自动运行了。一般软件中选项设置有“随系统启动”这一项,拷贝的工作肯定由代码实现了。但是jar包路径如果动态的改变了那就有点麻烦了,那得必须[url=http://kinganpo.iteye.com/blog/876243]获取动态的jar包路径信息[/url]。
下面的代码可以简单的实现程序随系统启动...[/color][/size]
	private final static String DIR = "C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\\启动\\";

//解决路径中空格问题
private static String formatPath(String path){

if(path==null) return "";

return path.replaceAll(" ", "\" \"");

}
//设置是否随系统启动
public static void setRunBySys(boolean b){
File file = new File(DIR,JarTool.getJarName());
Runtime run = Runtime.getRuntime();
try {
if (b) {
if (!file.exists()) {
run.exec("cmd /c copy " + formatPath(JarTool.getJarPath())+ " " + formatPath(DIR));
}
} else {
if (file.exists()) {
run.exec("cmd /c del " + formatPath(file.getAbsolutePath()));
}
}
} catch (Exception e) {
// TODO: handle exception
}
}


[size=medium][color=brown]JarTool是自己封装的专门处理Jar包相关信息的类...

不知道为什么不能用IO流来拷贝,难道文件在运行过程中不许进行读写操作。

其实还有巧妙的方法是在“启动”目录下创建个bat批处理文件指向jar包。

但是程序每次启动的时候会弹出命令窗口,虽然是瞬间一闪而过,但就是看起来不爽。

找了些资料,可以用vb脚本来处理:[/color]

[color=blue]createobject("wscript.shell").run "XXX.bat",0 [/color]

[color=brown]将上面的代码保存为vbs格式的文件即可,其中"XXX.bat"是启动jar的批处理,"0"表示隐藏命令行窗口。

现在可以总结一下,先创建一个启动jar的bat文件,然后再“启动”目录下创建一个指向这个bat的vbs脚本文件,这些可以代码实现的,取消随系统启动只要删除脚本就可以了。[/color][/size]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值