代码描述

java对windows注册表进行编辑是一个比较困难的任务,因为java的平台无关性。但是java提供了Runtime类,它允许把原始的command命令直接发生送给OS,所以可以通过这个类来实现对注册表简单有效的管理。
这里允许的基本功能是添加、删除和查询注册表信息。根据key查询出value和type分别存放在不同的变量中。

//主要的方法
add(String location, String key, String type, String value);
delete(String location, String key);
query(String location, String key);

//查询消息用到的方法
getKey() => 检索的key名.
getValue() => 根据key得到的value
getType() => 根据key得到的数据类型 (REG_SZ, REG_BINARY, 等)

调用方法
例:

 

Java代码 复制代码 收藏代码
  1. public static void main(String[] args) {
  2. try {
  3. RegKeyManager rkm = new RegKeyManager();
  4. // 64位系统的注册表目录
  5. // rkm.query("HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Tencent\\QQ2009", "Install");
  6. // 32位系统的注册表目录
  7. rkm.query("HKEY_LOCAL_MACHINE\\SOFTWARE\\Tencent\\QQ2009", "Install");
  8. System.out.println("KEY: " + rkm.getKey() + " DATA TYPE: " + rkm.getType() + " DATA VALUE: " + rkm.getValue());
  9. // rkm.add("HKEY_LOCAL_MACHINE\\SOFTWARE\\Tencent\\QQ2009","TESTING","REG_SZ","VALUE DATA");
  10. // rkm.delete("HKEY_LOCAL_MACHINE\\SOFTWARE\\Tencent\\QQ2009","TESTING");
  11. } catch (Exception e) {
  12. e.printStackTrace();
  13. }
  14. }

public static void main(String[] args) {
        try {
            RegKeyManager rkm = new RegKeyManager();
//            64位系统的注册表目录
//            rkm.query("HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Tencent\\QQ2009", "Install");
//            32位系统的注册表目录
            rkm.query("HKEY_LOCAL_MACHINE\\SOFTWARE\\Tencent\\QQ2009", "Install");
            System.out.println("KEY: " + rkm.getKey() + " DATA TYPE: " + rkm.getType() + " DATA VALUE: " + rkm.getValue());
//            rkm.add("HKEY_LOCAL_MACHINE\\SOFTWARE\\Tencent\\QQ2009","TESTING","REG_SZ","VALUE DATA");
//            rkm.delete("HKEY_LOCAL_MACHINE\\SOFTWARE\\Tencent\\QQ2009","TESTING");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }