java实现软件程序开机自动启动和创建程序的桌面快捷方式源代码

一、java实现.exe程序的开机自动启动

1、描述

自己在eclipse编写的java项目用exe4j Wizard打包成一个.exe可执行文件,并让用户可以开机自动启动。

2、步骤

1.   获得本软件中.exe可执行文件的路径

2.   在Windows系统中的开机启动栏存放该.exe可执行文件的快捷方式,即可实现开机自动启动。

3、代码

private void startFolderMethod() {
		String path = System.getProperty("user.dir") + "\\appName.exe"; // 程序执行文件路径,我是直接放在项目根目录下的

		String startFolder = "";
  //获得操作系统名字,判断是windows的什么版本,这个可以根据需要加,该方法也可以判断是否是其他操作系统
		String osName = System.getProperty("os.name");
		if (osName.equals("Windows 7")||osName.equals("Windows 8")) {
	//获取系统的开机启动目录
			startFolder = System.getProperty("user.home")
					+ "\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup";
		}
		if (osName.endsWith("Windows XP")) {
			startFolder = System.getProperty("user.home") + "\\「开始」菜单\\程序\\启动";
		}

		if (!startFolder.equals("")) {
			JShellLink link = new JShellLink();
			link.setFolder(startFolder); // 快捷方式存放地址
			link.setName("appName"); // 快捷方式名称,可以任意取
			link.setPath(path); // 快捷方式指向该程序地址
			link.save();
		}
	}

二、java实现创建.exe程序的桌面快捷方式

1、描述

一个项目中有一个.exe程序,创建该程序的桌面快捷方式

2、步骤

1. 获得操作系统桌面路径

2. 获得本软件中.exe可执行文件的路径

3. 创建桌面快捷方式

private void createShortcut() {
		// 获取系统桌面路径
		String desktop = FileSystemView.getFileSystemView().getHomeDirectory()
				.getAbsolutePath();
		// 程序执行文件路径
		String path = System.getProperty("user.dir") + "\\appName.exe";

		JShellLink link = new JShellLink();
		link.setFolder(desktop); // 快捷方式存放地址
		link.setName("appName"); // 快捷方式名称
		link.setPath(path); // 快捷方式指向地址
		link.save();

	}

总结:只要在程序启动时调用以上方法,就可以实现windows系统该程序的开机启动和桌面快捷方式的创建,以后就可以直接点击桌面快捷方式运行程序。

时间: 2024-08-25 00:48:46

java实现软件程序开机自动启动和创建程序的桌面快捷方式源代码的相关文章

VS2012+C语言+设置程序开机自动启动+示例

#include <stdio.h> #include <windows.h> #include <stdlib.h> char* ReplaceString(const char *srcStr, const char *src, const char *dest) //替换字符串,获得文件路径 { char *ptr; int len = strlen(srcStr); ptr = (char*)malloc(sizeof(char)*len+1); strcpy(

巧妙地利用进程分离来设置程序开机自动启动!(附源码)

在GG(高仿QQ)最早的版本中,我就加入了开机自动启动的功能,是通过操作注册表来实现的,但是操作注册表需要管理员权限,这样,就表示必须以管理员的身份来运行GG客户端.这对某些用户来说可能接受不了,因为以这么高的权限来运行一个程序,用户会觉得风险较大.而就从GG的角度来说,也只有在设置或取消开机启动才需要这个权限,而一开始就以管理员身份运行GG,就有点太夸张和浪费了. 一.方案进化 我开始想到的解决方案是,仍然以普通用户的身份启动GG,当需要操作注册表时,再提升至管理员权限.后来通过查资料了解到:

ubuntu创建文件夹桌面快捷方式

最近在使用dropbox,用来存储一些自己的markdown笔记和pdf文件.觉得放一个快捷方式在桌面上比较方便,但是lxde似乎没有直接创建桌面快捷方式的功能(或者是我没有找到),就上网查了一下,顺便也记在这里. sudo ln -sT [srcDir] [dstDir/name] 像我这里,因为是创建dropbox的桌面快捷方式,所以完整的命令就是 sudo ln -sT /home/{user_name}/Dropbox/     /home/{user_name}/Desktop/Dro

vm,vbox 虚拟机设置开机自动启动(创建虚拟机快捷方式的命令)

在使用vm虚拟机和vbox虚拟机设置开机自动启动时候, vbox可以直接发送桌面图标创建一个快捷方式(如图1),然后加到启动项里. 而vm没有发送到桌面快捷方式这一选项,那么可以通过手工添加一个快捷方式(如图2,图3)然后放到启动项里,方法如下: 右键桌面空白处新建>快捷方式>输入命令(包含引号) "C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" "-x" "D:\All

如何让程序开机自动启动

当我们在window下编写自己的程序时,也可以让自己编写的程序在电脑开机时自动运行,这主要是修改windows里的注册表信息,所有开机自动启动的程序的一些信息都放在注册表中的某一文件夹下.我们只需在特定的文件夹下写入我们的程序信息即可. 关于注册表  我们可以在键盘上同时按下 win+r 键,在运行串口中输regedit  回车即可看到注册表(可以理解为一个大树,记录着系统中的信息),我们点击左边文件夹,点击顺序为:Software\\Microsoft\\Windows\\CurrentVer

Android创建和删除桌面快捷方式

有同学方反馈创建快捷方式后,点击快捷方式后不能启动程序或者提示"未安装程序",貌似是新的rom在快捷方式这块做过修改(由于此文是11年5月所出,估计应该是2.0或2.1的rom),现已修正,HTC G11 2.3.5rom测试通过. 1,判断是否已经创建了快捷方式(在某些机型中需要判断) 1 2 3 4 5 6 7 8 9 10 11 12 13 private boolean hasShortcut() {         boolean isInstallShortcut = fa

C#/WPF让程序开机自动启动

最近一个C/S项目客户要求开机自启的功能,网上找了一些方法,不顶用:最后自己去翻书,找到了这段代码,亲测可用,Wpf环境下需要改下获取程序目录的方式即可,Winform直接可用. 1 #region 设置开机自启 2 string strName = AppDomain.CurrentDomain.BaseDirectory + "AutoRunPro.exe";//获取要自动运行的应用程序名 3 if (!System.IO.File.Exists(strName))//判断要自动运

关于C# Winform 程序开机自动启动

1.程序运行时调用下面方法即可. /// <summary> /// 设置开机自动启用 /// </summary> private void SetAutoStart() { try { string regPath = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";//注册表 string path = Application.ExecutablePath.ToLower(); //获取.exe当前程

Win10创建mysql8.0桌面快捷方式以及启动mysql.exe闪退问题

1.先找到mysql的bin目录,将Mysql.exe发送快捷方式到桌面. 2.然后右键选择属性,将目标后面添加上 -uroot -p 我的完整目标如下: E:\mysql-8.0.17-winx64\bin\mysql.exe -uroot -p 双击快捷方式 原文地址:https://www.cnblogs.com/sunbr/p/11565086.html