How to edit system or user variables on Windows using Java code and JNA? I only found this question but it doesn't seem to help. Why don't the following two code snippets work?
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");
}
}
and
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();
}
}
Instead of writing the environment variable, nothing happens.