Java 将程序添加到启动

Java add program to startup

我已使用 jna 库写入 windows 注册表以将我的程序添加到启动项。当我在注册表中看到时,它添加得很好。我使用代码

Advapi32Util.registrySetStringValue(WinReg.HKEY_LOCAL_MACHINE,
    "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", FILE_NAME, FILENAME_FILEPATH);

注册表中的保存数据是这样的

key - program.jar
value - PATH/program.jar

如果我双击 program.jar 文件,它可以正常执行,但为什么它在启动时不执行?

谢谢

尝试编写一个 .bat 文件来执行您的程序 (java -jar) 并在注册表中设置 .bat 文件路径。

当您双击 Windows 中的 Jar 文件时,Windows 启动 Java 并将该 Jar 文件作为参数传递给它,就像您双击 一样。 docx 文件 - Windows 启动 Word 并将该文件作为参数传递给它。

使用该注册表命令,您必须执行相同的操作 - 启动 Java 并将 jar 文件作为参数传递给它。尝试在您的注册表中使用此命令(您可以先在命令行上尝试):

java -jar path/to/jarfile.jar

也许您会看到带有 java 的控制台,如果是这样,您可以改用 javaw