我想写一java程序,用此程序打开注册表,并在注册表里写入一开机即执行的可执行文件,不知怎样用java写???

解决方案 »

  1.   

    runtime可解决 查一下API  里面讲了
      

  2.   

    其实java只能打开注册表中的指定的一项,可以进行建值,删除,等操作。具体哪一项我记不清了.
      

  3.   

    在java.util.prefs   包中提供了对Windows   注册表的访问功能:   
      import   java.io.*;   
      import   java.util.prefs.*;   
        
      public   class   Prefs   {   
      public   static   void   main(String   args[])   {   
      String   denominations[]   =     
      {"One",   "Two",   "Five",   "Ten",   "Twenty"};   
      String   pictures[]   =     
      {"Washington",   "Jefferson",   "Lincoln",   "Hamilton",   "Jackson"};   
        
      NodeChangeListener   nodeChangeListener   =     
      new   NodeChangeListener()   {   
      public   void   childAdded(NodeChangeEvent   event)   {   
      Preferences   parent   =   event.getParent();   
      Preferences   child   =   event.getChild();   
      System.out.println(parent.name()   +   "   has   a   new   child   "   +   
      child.name());   
      }   
      public   void   childRemoved(NodeChangeEvent   event)   {   
      Preferences   parent   =   event.getParent();   
      Preferences   child   =   event.getChild();   
      System.out.println(parent.name()   +   "   lost   a   child   "   +   
      child.name());   
      }   
      };   
        
      PreferenceChangeListener   preferenceChangeListener   =     
      new   PreferenceChangeListener()   {   
      public   void   preferenceChange(PreferenceChangeEvent   event)   {   
      String   key   =   event.getKey();   
      String   value   =   event.getNewValue();   
      Preferences   node   =   event.getNode();   
      System.out.println(node.name()   +   "   now   has   a   value   of   "   +     
      value   +   "   for   "   +   key);   
      }   
      };   
        
      //   Look   up   user   root   
      Preferences   prefs   =     
      Preferences.userRoot().node("/net/zukowski/ibm");   
        
      //   Add   listeners   
      prefs.addNodeChangeListener(nodeChangeListener);   
      prefs.addPreferenceChangeListener(preferenceChangeListener);   
        
      //   Save   a   bunch   of   key-value   pairs   
      for   (int   i=0,   n=denominations.length;   i   <   n;   i++)   {   
      prefs.put(denominations[i],   pictures[i]);   
      }   
        
      //   Display   all   the   entries   
      try   {   
      String   keys[]   =   prefs.keys();   
      for   (int   i=0,   n=keys.length;   i   <   n;   i++)   {   
      System.out.println(keys[i]   +   ":   "   +   prefs.get(keys[i],   "Unknown"));   
      }   
      }   catch   (BackingStoreException   e)   {   
      System.err.println("Unable   to   read   backing   store:   "   +   e);   
      }   
        
      //   Create   child   
      Preferences   child   =   Preferences.userRoot().node("/net/zukowski/ibm/foo");   
        
      //   Save   to   XML   file   
      try   {   
      FileOutputStream   fos   =   new   FileOutputStream("prefs.out");   
      prefs.exportNode(fos);   
      }   catch   (Exception   e)   {   
      System.err.println("Unable   to   export   nodes:   "   +   e);   
      }   
        
      //   Clean   up   
      try   {   
      prefs.removeNode();   
      }   catch   (BackingStoreException   e)   {   
      System.err.println("Unable   to   access   backing   store:   "   +   e);   
      }   
        
      }   
      }