在Windows 7环境中,我在System的环境变量下定义了变量VARA =“x”,并且在用户的环境变量下定义了相同的变量VARA =“y”。如何获得系统环境变量部分中定义的VARA值。我总是得到用户价值而不是系统价值。 感谢。
答案 0 :(得分:3)
你做不到。
System.getenv()
会在您的应用启动时返回环境变量的值。这些值的设置方式与JVM无关,无法访问
答案 1 :(得分:2)
Advapi32Util.registryGetStringValue(WinReg.HKEY_LOCAL_MACHINE,
"SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment",
name);
您还可以访问用户变量:
Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER,
"Environment",
name);
答案 2 :(得分:-1)
在Java中,您只需输入:
String variable = System.getenv("WINDIR");
System.out.println(variable);
您将获得系统的环境变量。
如果要搜索所有系统的环境变量:
Map<String, String> variables = System.getenv();
for (Map.Entry<String, String> entry : variables.entrySet())
{
String name = entry.getKey();
String value = entry.getValue();
System.out.println(name + "=" + value);
}