Java Native Access(JNA)是用于处理本机库的出色项目,并且通过Advapi32Util和Advapi32支持平台库(platform.jar)中的Windows注册表。
import com.sun.jna.platform.win32.Advapi32Util;import com.sun.jna.platform.win32.WinReg;public class WindowsRegistrySnippet { public static void main(String[] args) { // Read a string String productName = Advapi32Util.registryGetStringValue( WinReg.HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ProductName"); System.out.printf("Product Name: %sn", productName); // Read an int (& 0xFFFFFFFFL for large unsigned int) int timeout = Advapi32Util.registryGetIntValue( WinReg.HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows", "ShutdownWarningDialogTimeout"); System.out.printf("Shutdown Warning Dialog Timeout: %d (%d as unsigned long)n", timeout, timeout & 0xFFFFFFFFL); // Create a key and write a string Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "SOFTWARE\StackOverflow"); Advapi32Util.registrySetStringValue(WinReg.HKEY_CURRENT_USER, "SOFTWARE\StackOverflow", "url", "http://stackoverflow.com/a/6287763/277307"); // Delete a key Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "SOFTWARE\StackOverflow"); }}


