如何在Windows上使用Java代码编辑系统变量或用户变量,并使用JNA?我只发现this问题,但它似乎没有帮助。为什么以下两个代码片段不起作用?编辑Windows环境变量不起作用
import com.sun.jna.Library;
import com.sun.jna.Native;
public class Environment
{
public interface WinLibC extends Library
{
WinLibC INSTANCE = (WinLibC) Native.loadLibrary("msvcrt",
WinLibC.class);
public int _putenv(String name);
}
public static void main(String[] args)
{
WinLibC.INSTANCE._putenv("MYVARIABLE=MYVALUE");
}
}
和
import com.sun.jna.Library;
import com.sun.jna.Native;
public class Environment
{
WinLibC clib = (WinLibC) Native.loadLibrary("msvcrt", WinLibC.class);
public Environment()
{
setenv("myVariable", "myValue");
}
public interface WinLibC extends Library
{
public int _putenv(String name);
}
public void setenv(String variable, String value)
{
clib._putenv(variable + "=" + value);
}
public static void main(String[] args)
{
new Environment();
}
}
而不是写环境变量,什么都不会发生。
为什么在关于操作环境变量的问题中向我们展示JNA'printf'代码? – 2014-09-19 15:43:02
@Andrew Medico:作为映射原生函数的一个例子。 – BullyWiiPlaza 2014-09-19 15:44:33
我认为可以肯定的是,可以回答这个问题的人不需要调用一个完全不相关的函数的例子。 – 2014-09-19 15:52:10