我使用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
文件,它会被正常执行,但为什么它在启动时没有执行?
由于
答案 0 :(得分:3)
尝试编写.bat
文件来执行您的程序(java -jar
)并在注册表中设置.bat
文件路径。
答案 1 :(得分:1)
当您在Windows中双击Jar-File时,Windows启动Java并将该Jar-File作为参数传递给它,就像您双击.docx文件一样 - Windows启动Word并将该文件作为参数传递给它
使用该注册表命令,您必须执行相同的操作 - 启动Java并将jar-File作为参数传递给它。尝试在注册表中使用此命令(您可以先在命令行上尝试):
java -jar path/to/jarfile.jar
也许您会看到一个包含java
的控制台,如果是这样,您可以使用javaw
。