0

Windows 7環境では、システムの環境変数で定義された変数VARA = "x"と、ユーザーの環境変数で定義された同じ変数VARA="y"があります。システムの環境変数セクションで定義されているVARAの値を取得するにはどうすればよいですか。私は常にシステムではなくユーザーの価値を取得します。ありがとう。

4

3 に答える 3

3

できません。

System.getenv()アプリが起動したときの環境変数の値を返します。これらの値がどのように設定されたかは無関係であり、JVMにはアクセスできません。

于 2012-11-16T23:28:50.490 に答える
2

JNAを使用してレジストリにアクセスする必要があります。

Advapi32Util.registryGetStringValue(WinReg.HKEY_LOCAL_MACHINE,
    "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment",
    name);

ユーザー変数にアクセスすることもできます。

Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER,
    "Environment",
    name);
于 2012-11-17T03:42:43.093 に答える
-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);  
}  
于 2012-11-16T23:26:56.550 に答える