我使用我在Boann的回答中找到的类添加了一个执行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中做同样的事情时,它并没有开始。我不知道错误在哪里!
当我去regedit的路径时,我有另一个奇怪的问题,键名和值是不同的,如果我得到它使用readValues()函数。 例如,我在键中添加了记事本,它正确启动,我也可以在readValues()函数中看到它。但是当我去注册表时,我没有看到功能中的相同键!我正在虚拟化的Windows 7中工作
答案 0 :(得分:0)
将评论转换为答案:
将完整路径包含在java虚拟机中。
"c:\program files(x86)\java\jre1.8.31\bin\java.exe" -jar c:\users\kk\desktop\program.jar