public final class WinRegistry extends java.lang.Object
java.util.prefs.WindowsPreferences
and its native JNI
method Java_java_util_prefs_WindowsPreferences_WindowsRegQueryValueEx
, only String values (REG_SZ)
are supported.
Adapted from StackOverflow.Modifier and Type | Field and Description |
---|---|
static int |
HKEY_CURRENT_USER
Registry entries subordinate to this key define the preferences of the current user.
|
static int |
HKEY_LOCAL_MACHINE
Registry entries subordinate to this key define the physical state of the computer, including data about the bus type,
system memory, and installed hardware and software.
|
private static int |
KEY_READ |
private static int |
REG_SUCCESS |
private static java.lang.reflect.Method |
regCloseKey |
private static java.lang.reflect.Method |
regEnumKeyEx |
private static java.lang.reflect.Method |
regEnumValue |
private static java.lang.reflect.Method |
regOpenKey |
private static java.lang.reflect.Method |
regQueryInfoKey |
private static java.lang.reflect.Method |
regQueryValueEx |
private static java.util.prefs.Preferences |
systemRoot |
private static java.lang.Class<? extends java.util.prefs.Preferences> |
userClass |
private static java.util.prefs.Preferences |
userRoot |
Modifier | Constructor and Description |
---|---|
private |
WinRegistry() |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
readString(int hkey,
java.lang.String key,
java.lang.String valueName)
Read a value from key and value name
|
private static java.lang.String |
readString(java.util.prefs.Preferences root,
int hkey,
java.lang.String key,
java.lang.String value) |
static java.util.List<java.lang.String> |
readStringSubKeys(int hkey,
java.lang.String key)
Read the value name(s) from a given key
|
private static java.util.List<java.lang.String> |
readStringSubKeys(java.util.prefs.Preferences root,
int hkey,
java.lang.String key) |
static java.util.Map<java.lang.String,java.lang.String> |
readStringValues(int hkey,
java.lang.String key)
Read value(s) and value name(s) form given key
|
private static java.util.Map<java.lang.String,java.lang.String> |
readStringValues(java.util.prefs.Preferences root,
int hkey,
java.lang.String key) |
private static byte[] |
toCstr(java.lang.String str) |
public static final int HKEY_CURRENT_USER
public static final int HKEY_LOCAL_MACHINE
private static final int REG_SUCCESS
private static final int KEY_READ
private static final java.util.prefs.Preferences userRoot
private static final java.util.prefs.Preferences systemRoot
private static final java.lang.Class<? extends java.util.prefs.Preferences> userClass
private static final java.lang.reflect.Method regOpenKey
private static final java.lang.reflect.Method regCloseKey
private static final java.lang.reflect.Method regQueryValueEx
private static final java.lang.reflect.Method regEnumValue
private static final java.lang.reflect.Method regQueryInfoKey
private static final java.lang.reflect.Method regEnumKeyEx
private WinRegistry()
public static java.lang.String readString(int hkey, java.lang.String key, java.lang.String valueName) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
hkey
- HKEY_CURRENT_USER/HKEY_LOCAL_MACHINEkey
- key namevalueName
- value namejava.lang.IllegalArgumentException
- if hkey not HKEY_CURRENT_USER/HKEY_LOCAL_MACHINEjava.lang.IllegalAccessException
- if Java language access control is enforced and the underlying method is inaccessiblejava.lang.reflect.InvocationTargetException
- if the underlying method throws an exceptionpublic static java.util.Map<java.lang.String,java.lang.String> readStringValues(int hkey, java.lang.String key) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
hkey
- HKEY_CURRENT_USER/HKEY_LOCAL_MACHINEkey
- key namejava.lang.IllegalArgumentException
- if hkey not HKEY_CURRENT_USER/HKEY_LOCAL_MACHINEjava.lang.IllegalAccessException
- if Java language access control is enforced and the underlying method is inaccessiblejava.lang.reflect.InvocationTargetException
- if the underlying method throws an exceptionpublic static java.util.List<java.lang.String> readStringSubKeys(int hkey, java.lang.String key) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
hkey
- HKEY_CURRENT_USER/HKEY_LOCAL_MACHINEkey
- key namejava.lang.IllegalArgumentException
- if hkey not HKEY_CURRENT_USER/HKEY_LOCAL_MACHINEjava.lang.IllegalAccessException
- if Java language access control is enforced and the underlying method is inaccessiblejava.lang.reflect.InvocationTargetException
- if the underlying method throws an exceptionprivate static java.lang.String readString(java.util.prefs.Preferences root, int hkey, java.lang.String key, java.lang.String value) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
private static java.util.Map<java.lang.String,java.lang.String> readStringValues(java.util.prefs.Preferences root, int hkey, java.lang.String key) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
private static java.util.List<java.lang.String> readStringSubKeys(java.util.prefs.Preferences root, int hkey, java.lang.String key) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
private static byte[] toCstr(java.lang.String str)