您的位置:首页 > 其它

以后学习安排(会根据时间的推移而相应增加)

2008-12-29 03:06 309 查看
前一阵子做个程序,想用java操作注册表,上网一搜,JDK是自带操作注册表的类的,在java.util.prefs这个包下面,Preferences类就可以在windows下操作注册表了,但是这个类只能操作HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/prefs这个路径下的注册表,可以说功能极其有限,后来在stackoverflow上看到一篇帖子,提供了一个基于Preferences,结合反射增强功能,可以随意操作注册表任意路径的类,试用了一下,非常好用,这个帖子的地址是http://stackoverflow.com/questions/62289/read-write-to-windows-registry-using-java,想用这个类的朋友可以直接下载我上传的附件,或者从帖子里拷贝。下面我提供几个简单的例子作为使用时的参考
1,读取一个键值
String value = WinRegistry.readString (
WinRegistry.HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",
"ProductName");
System.out.println("Windows Distribution = " + value);

在我的机器上的输出是
引用Windows Distribution = Windows 7 Ultimate

2,遍历某个目录下的若干小目录,这里只打印目录名字
String path = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion";
List<String> subs = WinRegistry.readStringSubKeys(WinRegistry.HKEY_LOCAL_MACHINE, path);
for (String s : subs) {
System.out.println(s);
}


3,写一个值也很简单
WinRegistry.writeStringValue (
WinRegistry.HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",
"TestKey",
"TestValue");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: