在 windows 启动时执行 Jar 不起作用,没有结果
Jar execution on startup at windows doesn't work, no result
我使用在 Boann 的回答中找到的 class 添加了一个用于执行 jar 的密钥: read/write to Windows Registry using Java 。我在一个虚拟化的虚拟盒子里工作 windows 7.
如果我在 "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" 中添加一个 notepad.exe 值,它会在启动时启动。
我在这个键中写了值,键名JAVALL
javaw -Xmx200m -jar
整个代码为:
if (Utilities.WindowsRegistry.isAvailable()) {+
Utilities.WindowsRegistry.writeValue(
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\",
"JAVALL",
"\"java.exe -jar "+ super.installPathFile + "\" ");
}
其中 super.installPathFile 与 c:\users\kk\desktop\program.jar
相似
但是当我尝试在桌面的 jar 中执行相同操作时,它无法启动。我不知道错误在哪里!
还有一个奇怪的问题,当我转到注册表编辑器中的路径时,键名和值与使用 readValues() 函数得到的键名和值不同。
例如,我在密钥中添加了记事本,它可以正确启动,我也可以在 readValues() 函数中看到它。但是当我进入 regedit 时,我看不到与函数中相同的键!我在虚拟化环境中工作 windows 7
将评论转换为答案:
包括 完整路径 到 java 虚拟机 es.
"c:\program files(x86)\java\jre1.8.31\bin\java.exe" -jar c:\users\kk\desktop\program.jar
我使用在 Boann 的回答中找到的 class 添加了一个用于执行 jar 的密钥: read/write to Windows Registry using Java 。我在一个虚拟化的虚拟盒子里工作 windows 7.
如果我在 "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" 中添加一个 notepad.exe 值,它会在启动时启动。
我在这个键中写了值,键名JAVALL
javaw -Xmx200m -jar
整个代码为:
if (Utilities.WindowsRegistry.isAvailable()) {+
Utilities.WindowsRegistry.writeValue(
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\",
"JAVALL",
"\"java.exe -jar "+ super.installPathFile + "\" ");
}
其中 super.installPathFile 与 c:\users\kk\desktop\program.jar
相似但是当我尝试在桌面的 jar 中执行相同操作时,它无法启动。我不知道错误在哪里!
还有一个奇怪的问题,当我转到注册表编辑器中的路径时,键名和值与使用 readValues() 函数得到的键名和值不同。 例如,我在密钥中添加了记事本,它可以正确启动,我也可以在 readValues() 函数中看到它。但是当我进入 regedit 时,我看不到与函数中相同的键!我在虚拟化环境中工作 windows 7
将评论转换为答案:
包括 完整路径 到 java 虚拟机 es.
"c:\program files(x86)\java\jre1.8.31\bin\java.exe" -jar c:\users\kk\desktop\program.jar