应用程序打包jar后实现随系统开机启动
2011-01-25 10:31
204 查看
我们写好的应用程序打包后,怎么让它随系统启动就运行呢?最简单最绿色的方法是把jar包拷贝到开始菜单中的“启动”文件夹下,这样系统启动后程序就可以自动运行了。一般软件中选项设置有“随系统启动”这一项,拷贝的工作肯定由代码实现了。但是jar包路径如果动态的改变了那就有点麻烦了,那得必须获取动态的jar包路径信息。
下面的代码可以简单的实现程序随系统启动...
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
}
}
JarTool是自己封装的专门处理Jar包相关信息的类...
不知道为什么不能用IO流来拷贝,难道文件在运行过程中不许进行读写操作。
其实还有巧妙的方法是在“启动”目录下创建个bat批处理文件指向jar包。
但是程序每次启动的时候会弹出命令窗口,虽然是瞬间一闪而过,但就是看起来不爽。
找了些资料,可以用vb脚本来处理:
createobject("wscript.shell").run "XXX.bat",0
将上面的代码保存为vbs格式的文件即可,其中"XXX.bat"是启动jar的批处理,"0"表示隐藏命令行窗口。
现在可以总结一下,先创建一个启动jar的bat文件,然后再“启动”目录下创建一个指向这个bat的vbs脚本文件,这些可以代码实现的,取消随系统启动只要删除脚本就可以了。
下面的代码可以简单的实现程序随系统启动...
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
}
}
JarTool是自己封装的专门处理Jar包相关信息的类...
不知道为什么不能用IO流来拷贝,难道文件在运行过程中不许进行读写操作。
其实还有巧妙的方法是在“启动”目录下创建个bat批处理文件指向jar包。
但是程序每次启动的时候会弹出命令窗口,虽然是瞬间一闪而过,但就是看起来不爽。
找了些资料,可以用vb脚本来处理:
createobject("wscript.shell").run "XXX.bat",0
将上面的代码保存为vbs格式的文件即可,其中"XXX.bat"是启动jar的批处理,"0"表示隐藏命令行窗口。
现在可以总结一下,先创建一个启动jar的bat文件,然后再“启动”目录下创建一个指向这个bat的vbs脚本文件,这些可以代码实现的,取消随系统启动只要删除脚本就可以了。
相关文章推荐
- Android开发:系统自动实现开机启动
- Qt系统对话框中文化及应用程序实现重启及使用QSS样式表文件及使用程序启动界面
- Wince6.0系统启动后直接运行应用程序的实现与问题
- 仿系统闹钟,实现更新安装之后还可以响铃,开机启动功能需要手机自带开机自启动
- Linux系统下Java应用程序打包成.jar文件遇到问题与解决问题
- Android开发:系统自动实现开机启动
- Android开发:系统自动实现开机启动
- mac系统开机启动实现
- Qt实现系统的开机启动
- Wince6.0系统启动后直接运行应用程序的实现与问题
- C#实现将应用程序设置为开机启动的方法
- C# Winform打包部署时添加注册表信息实现开机启动
- linux下实现开机启动应用程序
- C# Winform打包部署时添加注册表信息实现开机启动(转载)
- Android开发:系统自动实现开机启动
- C# Winform打包部署时添加注册表信息实现开机启动
- 默认开机启动;通过Broadcastreceiver广播监听开机启动,实现"没有activity"的自启服务或者自启应用程序。
- 用Gradle打包出jar文件 前面我们说过,在Android Studio里面使用Gradle来打包应用程序,一般都是build出来一个apk文件。但是有的同学是做实现层的开发,不直接做View层
- Install Shiled 实现应用程序的开机启动