0

可能重复:
使用 Java 读取/写入 Windows 注册表

我正在尝试在 java 中运行这个 cmd 代码。

REG ADD "HKCU\SOFTWARE\MICROSOFT\INTERNET EXPLORER\MAIN" /V "START PAGE" /D "http://www.google.com/" /F

这与 bat 文件完美配合。我试图让它在java上工作

import java.util.*;

private static void addToWin( File f, String param ) throws IOException {
String name = generateName(f);
String cmd = "REG ADD HKCU\\Software\\Microsoft\\Internet Explorer\\Main /V Start Page /D http://www.google.com/ /F";
Runtime.getRuntime().exec(cmd);
}

但没有奏效。我怎样才能使这项工作?

4

4 回答 4

4

这个给你:

ProcessBuilder pb = new ProcessBuilder(new String[]{"REG", "ADD", "HKCU\\Software\\Microsoft\\Internet Explorer\\Main", "/v", "Start Page", "/d", "\"http://www.google.com/\"", "/f"});
pb.start();
于 2012-10-15T20:40:27.320 回答
1

您需要引用包含空格的命令行参数:\\Internet Explorer\\

于 2012-10-15T20:38:05.450 回答
1

您缺少\"引号。

因此该命令被误解,因为它包含空格。报价很重要!

尝试添加一个简单的

 System.err.println(cmd);

(或使用您最喜欢的记录器)。注意缺少的引号。如果打印的字符串与您执行的命令不同,它不起作用也就不足为奇了。

于 2012-10-15T20:40:13.857 回答
0

如果您愿意从/写入 Windows 注册表读取/写入,我建议您看一下这个问题

于 2012-10-15T20:30:19.840 回答