当前位置:编程学习 > JAVA >>

JAVA 遍历注册表

 用JAVA 怎么递归遍历注册表 HKEY_LOCAL_MACHINE 下所有的节点的键和值啊,没思路啊,哪个大牛能帮看看。 注册表 java --------------------编程问答--------------------

import java.util.Iterator;

import ca.beq.util.win32.registry.RegistryKey;
import ca.beq.util.win32.registry.RegistryValue;
import ca.beq.util.win32.registry.RootKey;
import ca.beq.util.win32.registry.ValueType;
 
public class CaRegTest1 {
 
    public static void main(String[] args) {
         
        //列出HKEY_LOCAL_MACHINE的子键
        RegistryKey current_user = new RegistryKey(RootKey.HKEY_LOCAL_MACHINE);
        if(current_user.hasSubkeys()){
            Iterator<RegistryKey> keys = current_user.subkeys();
            while(keys.hasNext()) {
                RegistryKey k = keys.next();
                System.out.println(k.getName());
            }
        }
}
--------------------编程问答--------------------
引用 1 楼 huxiweng 的回复:

import java.util.Iterator;

import ca.beq.util.win32.registry.RegistryKey;
import ca.beq.util.win32.registry.RegistryValue;
import ca.beq.util.win32.registry.RootKey;
import ca.beq.util.win32.registry.ValueType;
 
public class CaRegTest1 {
 
    public static void main(String[] args) {
         
        //列出HKEY_LOCAL_MACHINE的子键
        RegistryKey current_user = new RegistryKey(RootKey.HKEY_LOCAL_MACHINE);
        if(current_user.hasSubkeys()){
            Iterator<RegistryKey> keys = current_user.subkeys();
            while(keys.hasNext()) {
                RegistryKey k = keys.next();
                System.out.println(k.getName());
            }
        }
}


这个只能遍历HKEY_LOCAL_MACHINE 的下一级节点吧,在往下怎么遍历啊,他里面还有N多,怎么都去出来啊。 --------------------编程问答-------------------- java对注册表的操作有限吧,推荐用c++,还包括导入导出的api。 --------------------编程问答--------------------
引用 2 楼 mty583210969 的回复:
Quote: 引用 1 楼 huxiweng 的回复:


import java.util.Iterator;

import ca.beq.util.win32.registry.RegistryKey;
import ca.beq.util.win32.registry.RegistryValue;
import ca.beq.util.win32.registry.RootKey;
import ca.beq.util.win32.registry.ValueType;
 
public class CaRegTest1 {
 
    public static void main(String[] args) {
         
        //列出HKEY_LOCAL_MACHINE的子键
        RegistryKey current_user = new RegistryKey(RootKey.HKEY_LOCAL_MACHINE);
        if(current_user.hasSubkeys()){
            Iterator<RegistryKey> keys = current_user.subkeys();
            while(keys.hasNext()) {
                RegistryKey k = keys.next();
                System.out.println(k.getName());
            }
        }
}


这个只能遍历HKEY_LOCAL_MACHINE 的下一级节点吧,在往下怎么遍历啊,他里面还有N多,怎么都去出来啊。

哦,那写个迭代,那个ResistryKey还可以判断子节点的 --------------------编程问答--------------------
引用 3 楼 zuiai_LJX 的回复:
java对注册表的操作有限吧,推荐用c++,还包括导入导出的api。


不太了解啊,从来没接触过操作注册表的,看了网上都是指定节点 创建节点什么的。不知道他到底要干什么 让我写这么个东西。
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,