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)
没有评论:
发表评论