用jni技术和windows API关于操作注册表的函数即可

解决方案 »

  1.   

    下面是封装一个注册表项的JAVA平台类
    public class Win32Regkey{
    public Win32Regkey(int theRoot,String thePath){.......}
    public Enumeration names(){....}
    public native Object getValue(String name);
    public native void setValue(String name,Object value);public static final int HKEY_CLASSES_ROOTS=0x80000000;
    public static final int HKEY_CURRENT_USER=0x80000001;
    public static final int HKEY_LOCAL_MACHINE=0x80000002;
    ....
    }
    names方法返回一个包含用该注册表键存放的所有名字的枚举列表,可以用hasMoreElements/nextElement方法查看
    例子:
    HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.4------->列出该注册表项存放的各个字符串(要改为自己的JDK)
    public static void main(String[] args){
    Win32Regkey key=new Win32Regkey{
    Win32Regkey.HKEY_LOCAL_MACHINE,"SOFTWARE\JavaSoft\Java Development Kit\1.4");
    Enumeration enum=key.names();
    while(enum.hasMoreElements())
    {
    String name=(String)enum.nextElement();
    System.out.println(name+"="+key.getValue(name));
    }
    }
    输出
    JavaHome=你安装的JDK目录
    MicroVersion=0;
    其他的自己看看有关的书,