com.ice.jni.registry包是Windows注册表API的Java本机接口。这使得Java程序可以非常方便的访问,修改Windows的注册表资源。
方法一:
java.util.Enumeration keyElements() 枚举该key的subkey的名称,获取指定节点的所有子节点
方法二:
java.util.Enumeration valueElements() 枚举该key的值的名称。
方法三:
java.lang.String getStringValue(java.lang.String valueName) 得到REG_SZ(字符串值)或REG_EXPAND_SZ(可扩充字符串值)的值。
方法一:
java.util.Enumeration keyElements() 枚举该key的subkey的名称,获取指定节点的所有子节点
测试结果:
下面重点演示如何读取Windows的注册表。以Windows 7 x86为例。演示所用到的jar包和dll文件请到一下网址下载
=====================================================================
【注】
注册表非常非常重要,如果操作不当,极有可能使系统崩溃。所以在操作之前,请备份完整的注册表数据。以备不时之需。
=====================================================================
方法一:
java.util.Enumeration keyElements() 枚举该key的subkey的名称,获取指定节点的所有子节点
方法二:
java.util.Enumeration valueElements() 枚举该key的值的名称。
方法三:
java.lang.String getStringValue(java.lang.String valueName) 得到REG_SZ(字符串值)或REG_EXPAND_SZ(可扩充字符串值)的值。
方法一:
java.util.Enumeration keyElements() 枚举该key的subkey的名称,获取指定节点的所有子节点
测试结果:
代码:
/**
* 返回[HKEY_LOCAL_MACHINE\SOFTWARE]下指定节点的所有子节点的名称
*
* @param keyName
* 指定的节点的名称
* @return
* @throws NoSuchKeyException
* @throws RegistryException
*/
private static List<String> getSubKeyNames(String keyName)
throws NoSuchKeyException, RegistryException {
List<String> result = new ArrayList<String>();
RegistryKey software =