package getpathfromregedit;
import com.ice.jni.registry.Registry;
import com.ice.jni.registry.RegistryKey;
import com.ice.jni.registry.RegStringValue;
import com.ice.jni.registry.*;
//准备工作:
//1 需要引入 registry.jar 到工程中。
//2 需要将ICE_JNIRegistry.dll 拷贝到系统的 system32目录或者工程的根目录下面。
public class GetPath {
Registry reg = new Registry();
// 修改注册表中键值:
// Root/HKEY_LOCAL_MACHINE/SOFTWARE/Firebird Project/FirebirdServer/Instances
public void setRegeditValue(String pathStr, String attrName, String value) {
String[] paths = pathStr.split("[_]");
RegistryKey openLevel0 = reg.HKEY_LOCAL_MACHINE;
try {
for (int i = 0; i < paths.length - 1; i++) {
String partKey = paths[i];
openLevel0 = openLevel0.openSubKey(partKey);
}
// 获得键 Instances。
String lastKeyStr = paths[paths.length - 1];
RegistryKey subKey = openLevel0.createSubKey(lastKeyStr, "");
// 设定键值。
subKey.setValue(new RegStringValue(subKey, attrName, value));
System.out.println("设定 "+pathStr+" 下 "+attrName+" 的属性值为:"+value);
} catch (Exception ex) {
ex.printStackTrace();
}
}
// 从注册表中读取
// Root/HKEY_LOCAL_MACHINE/SOFTWARE/Firebird Project/FirebirdServer/Instances
// 的 DefaultInstance 属性值。此方法要求查询用的键值之间要用"_"分隔。
public String getRegeditValue(String pathStr, String attrName) {
String resPath = "";
String[] paths = pathStr.split("[_]");
RegistryKey openLevel0 = reg.HKEY_LOCAL_MACHINE;
try {
for (int i = 0; i < paths.length; i++) {
String partKey = paths[i];
openLevel0 = openLevel0.openSubKey(partKey);
}
// 获得键值。
resPath = openLevel0.getStringValue(attrName);
} catch (Exception ex) {
ex.printStackTrace();
}
System.out.println("查询到的 "+pathStr+" 下 "+attrName+" 的属性值为: "+resPath);
return resPath;
}
public static void main(String[] args) {
GetPath opRegedit = new GetPath();
String pathStr = "SOFTWARE_Firebird Project_Firebird Server_Instances";
String attrName = "DefaultInstance";
String valueStr = "C: Program Files Firebird Firebird_1_5 ";
// 设定注册表相应键值的值.
opRegedit.setRegeditValue(pathStr, attrName, valueStr);
// 读取注册表相应键值的值
opRegedit.getRegeditValue(pathStr, attrName);
}
}
2000年3月13日星期一
Java读写注册表
订阅:
博文评论 (Atom)
没有评论:
发表评论