用JAWIN能读写注册表  但是写只能写项~没法写字符串值 实在是很郁闷
只要把路径的值写到注册表里去,社么奇招怪法都行~~~分不够我再加

解决方案 »

  1.   

    用vc写个注册表访问的程序,让java去调
      

  2.   

    首先声明,转的高手贴,挨骂肯定了,就是希望知识共享,一起讨论
    他的名字叫realplay(代码录入员),给他分就行了////////////////////////////////////////////////////////////////////////////////////
    23 楼realplay(代码录入员)回复于 2002-10-12 22:56:25 得分 0 你要下载   
      Microsoft   SDK   for   Java   4.0   
        
      安装完之后   
      在安装目录下有个   
      docs目录   
      你看一下sdkdocs.chm这个帮助文件   
        
      里面有关于   
      com.ms.com   
      com.ms.lang   
         
      这些包的应用说明啊   
        
        
      上面的程序只有这一段是有用的   
        
              说明:   
              通过RegKey类,来访问CLASSES_ROOT\Word.Basic\CLSID   
      的键值   
        
      //   Get   the   Registry   Key   for   CLASSES_ROOT   
                              RegKey   root   =   RegKey.getRootKey(RegKey.CLASSES_ROOT);   
        
      //   From   CLASSES_ROOT,   get   the   key   for   Word.Basic   
                              RegKey   wbkey   =   new   RegKey(root,   
                                      "Word.Basic",   RegKey.KEYOPEN_READ);   
        
      //   From   Word.Basic,   get   the   CLSID   
                              RegKey   clsid   =   new   RegKey(wbkey,   "CLSID",   
                                      RegKey.KEYOPEN_READ);   
        
      //   Retrieve   the   CLSID   from   the   CLSID   key   (it's   the   default   value)   
                              String   classID   =   ((RegKeyEnumValueString)clsid.   
                                      enumValue(0)).value;   
        
      明白了吧????很简单的,你要读写其它的键值也是一样的啊。   
        
        
      SDK   FORM   JAVA里面包含了大量的例子包括用java来开发com   
      activex组件等等   
      还有用java开发ASP的组件   
        
    //////////////////////////////////////////////////////////////////////
    到这里去下载   
        
      http://download.microsoft.com/download/javasdk/install/4.0/win98/en-us/SDKJava40.exe
    ///////////////////////////////////////////////////////////////////////   
    这也是他说的
      
      

  3.   

    For_suzhen(不懂装懂) 
    感谢 我先看下
      

  4.   

    哎 BAIDU了下 发现"不能转到sun的上面么?ms的已经停止开发了呀自然很难找"
    貌似这个东西已经过时了,下不了也用不了
      

  5.   

    试一下 java.util.prefs包中的Preferences这个类?
      

  6.   

    /*读系统目录下的所有注册变量 path:为相对于Prefs下面的注册表目录*/
    public static void readAllReg(String path){
      path=StringUtil.nullToEmpty(path);
      Preferences prefsdemo =Preferences.systemRoot().node(path);
      try{
       String key1[]=prefsdemo.keys();
       int len=key1.length;
       for(int i=0;i<len;i++){
        String name=key1[i];
        String value=prefsdemo.get(name,null);
       }
      }catch(Exception e){
       
      }
     }
    /*根据名称读注册表*/
    public static boolean readRegByName(String regName,String path){
      boolean bool=false;
      path=StringUtil.nullToEmpty(path);
      Preferences prefsdemo =Preferences.systemRoot().node(path);
      try{
       String key1[]=prefsdemo.keys();
       int len=key1.length;
       for(int i=0;i<len;i++){
        String name=key1[i];
        if(regName.equals(name)){
         return true;
        }
       }
      }catch(Exception e){
       
      }
      return bool;
     }
    /*写注册表*/
    public static void writeReg(String name,String value,String path){
      path=StringUtil.nullToEmpty(path);
      Preferences prefsdemo =Preferences.systemRoot().node(path);
      try{
       prefsdemo.put(name,value);
      }catch(Exception e){
       
      }
     }
    /*删除所有注册项*/
    public static void delAllReg(String path){
      path=StringUtil.nullToEmpty(path);
      Preferences prefsdemo =Preferences.systemRoot().node(path);
      try{
       prefsdemo.removeNode();
      }catch(Exception e){
       
      }
     }
    /*删除单个注册项*/
    public static void delRegByName(String name,String path){
      path=StringUtil.nullToEmpty(path);
      Preferences prefsdemo =Preferences.systemRoot().node(path);
      try{
       prefsdemo.remove(name);
      }catch(Exception e){
       
      }
     }
    /*导出注册表为xml文件*/
    public static void outPutReg(String regPath,String filePath){
      regPath=StringUtil.nullToEmpty(regPath);
      Preferences prefsdemo =Preferences.systemRoot().node(regPath);
      try
      {
         FileOutputStream fos = new FileOutputStream(filePath);
         prefsdemo.exportNode(fos);
      }catch (Exception e)
      {
         System.err.println("Cannot export nodes: " + e);
      }
     }
      

  7.   

    http://download.microsoft.com/download/javasdk/install/4.0/win98/en-us/SDKJava40.exe