gpt4 book ai didi

java - 如何在 Java 中以编程方式将 Java 桌面应用程序添加/删除到 Windows 启动?

转载 作者:可可西里 更新时间:2023-11-01 09:28:36 26 4
gpt4 key购买 nike

我有一个用 Java 编写的 Windows 桌面应用程序。我有一个复选框,上面写着“在系统启动时启动”。因此,如果选中此复选框,那么我希望应用程序在用户登录 Windows 时启动。如果它没有被选中,那么我想删除它(如果它已经存在)。

而且我想使用 Java 从我的应用程序中执行此操作(我知道还有一些其他方法,例如批处理文件和 Windows 服务)。

我检查了Stack Overflow代码,但没有用。其实我只想要一个像Code Project这样的解决方案.

但不幸的是它在 C# .net 中。那么我如何使用 Java 实现这一目标呢?

编辑:我也对 JNA/JNI 方法持开放态度。问题是我只需要用 Java 来做。不管我用什么都没关系。我已准备好参加 JNA/JNI。

最佳答案

另一个比 COM 解决方案简单得多的选项是将文件添加/删除到 Windows 启动文件夹之一。你可以这样做:

    String allUsersStartupFolder = "C:/ProgramData/Microsoft/Windows/Start Menu/Programs/Startup";
//String personalStartupFolder = "C:/Users/" + System.getProperty("user.name") + "/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup";

File startupFolder = new File(allUsersStartupFolder);
System.out.println(startupFolder);
File startupFile = new File(startupFolder, "MyProgramStartup.bat");

if(startupFile.exists()){
System.out.println("Unregister");
startupFile.delete();
}else{
System.out.println("Register");
Files.write(startupFile.toPath(), "java -jar MyProgram.jar".getBytes(StandardCharsets.UTF_8), StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
}

关于java - 如何在 Java 中以编程方式将 Java 桌面应用程序添加/删除到 Windows 启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30658712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com