当前位置: 首页 > 面试题库 >

启动时启动Java应用程序

柴丰
2023-03-14
问题内容

我有一个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注册表项。

希望有帮助!:)

信用



 类似资料:
  • 我有一份Java申请。 应用程序有一个决定应用程序是否在启动时启动的设置。 目前,我通过在StartUp items文件夹中放置/删除快捷方式实现了这一点。 然而,我想知道是否有更好的方法来处理这种行为。 编辑 是的,是视窗。抱歉之前没有清除。 应用程序有一个UI,用户可以在其中触发操作,并且应用程序在运行时定期在后台运行一些任务。 @Peter,如何使用应用程序中的代码更改注册表?这种方法是否与

  • 当我的应用程序启动时,将创建一个executor服务(在java.util.concurrent中使用Executors.NewFixedThreadPool(maxThreadNum))对象。当请求到来时,executor服务将创建线程来处理它们。 当应用程序启动时,它将在executorService池中创建200个线程。 只是想知道当应用程序启动时,这是一种正确的创建线程的方法吗?还是有更好

  • 我正试图在设备上启动我的应用程序。它正在模拟器上成功发射。 null null 会不会是带有代码签名的东西? 目前我已将其设置为“不编码签名”

  • 问题内容: 我尝试使用范围类型APPLICATION和带有@ Create,@ Beg的方法来注释类,但这似乎不起作用。 我想要的是在应用程序启动时立即启动无限循环。 问题答案: 如果希望在初始化后立即执行方法,则可以使用以下注释:

  • 问题内容: 我已经看到许多应用程序将乐器类作为参数并在加载时作为参数,这些应用程序也将a 放到了命令行中。 Java文档说关闭了类验证。 但是,为什么有人要关闭验证,即使他们正在学习类呢? 问题答案: 我会说启动时间。加载类时,验证类是否正确需要花费一些时间。由于类可能以惰性方式加载(不是在应用程序启动时加载,而是在首次使用时加载),因此这可能会导致意外的和不希望的运行时延迟。 实际上,通常不需要

  • 当我运行这个错误时,请帮助我解决这个问题 启动应用程序上下文时出错。要显示条件,请报告启用“调试”后重新运行应用程序。2019-02-11 10:53:55.839错误8804 --- [ restartedMain]o. s. b. d.日志失败分析记者: 应用程序启动失败 说明: com中的字段userDao。实例Spring Security应用程序编程接口。服务UserServiceImp