启动时启动Java应用程序
问题内容:
我有一个Java应用程序。
该应用程序具有一个设置,该设置决定该应用程序是否在启动时启动。
目前,我可以通过在“启动项目”文件夹中放置/删除快捷方式来实现此目的。
但是,我想知道是否有更好的方法来处理此行为。
编辑
是的,它是Windows。抱歉,之前没有清除该内容。
该应用程序具有一个用户可以在其中触发动作的UI,并且该应用程序在运行时会定期在后台运行一些任务。
@Peter,如何在应用程序中使用代码更改注册表?该方法与所有版本的Windows兼容吗?
问题答案:
下面是一个小示例片段,说明如何从应用程序内部完成该操作
static final String REG_ADD_CMD = "cmd /c reg add \"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /v \"{0}\" /d \"{1}\" /t REG_EXPAND_SZ";
private void exec(String[] args) throws Exception
{
if (args.length != 2)
throw new IllegalArgumentException("\n\nUsage: java SetEnv {key} {value}\n\n");
String key = args[0];
String value = args[1];
String cmdLine = MessageFormat.format(REG_ADD_CMD, new Object[] { key, value });
Runtime.getRuntime().exec(cmdLine);
}
我非常确定这将适用于所有版本的Windows,因为它们都使用相同的Startup \ Run注册表项。
希望有帮助!:)