software-mariodiana
10/21/2015 - 6:56 PM

Accessing the Windows registry via Java, using JNA.

Accessing the Windows registry via Java, using JNA.

import com.sun.jna.platform.win32.Advapi32Util;
import com.sun.jna.platform.win32.WinReg;

/*
<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna</artifactId>
    <version>4.2.0</version>
</dependency>
<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna-platform</artifactId>
    <version>4.2.0</version>
</dependency>
*/

/*
// Shield client code from the specific implementation.
public interface WindowsRegistry {
    public String getLocalMachineValue(String section, String key);
}
*/

/**
 * Access local Windows registry.
 * 
 * @see http://stackoverflow.com/a/6287763/155167
 */
public class JNAWindowsRegistry implements WindowsRegistry {
    @Override
    public String getLocalMachineValue(String section, String key) {
        return Advapi32Util.registryGetStringValue(WinReg.HKEY_LOCAL_MACHINE, section, key);
    }
}