您的位置:程序门 -> java -> j2se / 基础类



java写注册表的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


java写注册表的问题[已结贴,结贴人:lixiaoxue85]
发表于:2007-01-25 17:37:41 楼主
用jawin能读写注册表     但是写只能写项~没法写字符串值   实在是很郁闷
只要把路径的值写到注册表里去,社么奇招怪法都行~~~分不够我再加
发表于:2007-01-25 17:42:571楼 得分:0
用vc写个注册表访问的程序,让java去调
发表于:2007-01-25 18:51:022楼 得分:0
先给你顶一下啊
发表于:2007-01-25 19:08:053楼 得分:50
首先声明,转的高手贴,挨骂肯定了,就是希望知识共享,一起讨论
他的名字叫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
///////////////////////////////////////////////////////////////////////      
这也是他说的
   
发表于:2007-01-25 20:08:034楼 得分:0
mark
发表于:2007-01-25 22:26:095楼 得分:0
for_suzhen(不懂装懂)  
感谢   我先看下
发表于:2007-01-25 22:54:196楼 得分:0
哎   baidu了下   发现 "不能转到sun的上面么?ms的已经停止开发了呀自然很难找 "
貌似这个东西已经过时了,下不了也用不了
发表于:2007-01-25 23:09:147楼 得分:0
试一下   java.util.prefs包中的preferences这个类?
发表于:2007-01-25 23:18:468楼 得分:0
gz
发表于:2007-01-26 08:55:109楼 得分:50
/*读系统目录下的所有注册变量   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);
    }
  }
发表于:2007-01-26 09:00:4810楼 得分:0
学习一下~
发表于:2007-01-26 09:30:2311楼 得分:0
http://download.microsoft.com/download/javasdk/install/4.0/win98/en-us/sdkjava40.exe
发表于:2007-01-26 12:04:1212楼 得分:0
学习
发表于:2007-01-26 12:53:5813楼 得分:0
学习
发表于:2007-01-26 13:18:2714楼 得分:0
好像我还没达到这境界、汗!!!
学习
发表于:2007-01-31 11:41:3415楼 得分:0
学习


快速检索

最新资讯
热门点击