注册表操作类

 

     public   class  RegCtrl
    {
        
private   static  RegistryKey rootkey;
        
///   ///  构造根键为RootKey的注册表操作类,缺省打开Current_User主键  ///  
         public  RegCtrl( string  RootKey)
        {
            
switch  (RootKey.ToUpper())
            {
                
case   " CLASSES_ROOT " :
                    rootkey 
=  Registry.ClassesRoot;
                    
break ;
                
case   " CURRENT_USER " :
                    rootkey 
=  Registry.CurrentUser;
                    
break ;
                
case   " LOCAL_MACHINE " :
                    rootkey 
=  Registry.LocalMachine;
                    
break ;
                
case   " USERS " :
                    rootkey 
=  Registry.Users;
                    
break ;
                
case   " CURRENT_CONFIG " :
                    rootkey 
=  Registry.CurrentConfig;
                    
break ;
                
case   " DYN_DATA " :
                    rootkey 
=  Registry.DynData;
                    
break ;
                
case   " PERFORMANCE_DATA " :
                    rootkey 
=  Registry.PerformanceData;
                    
break ;
                
default :
                    rootkey 
=  Registry.CurrentUser;
                    
break ;
            }
        }

        
///   ///  读取路径为keypath,键名为keyname的注册表键值,缺省返回def  ///   ///   ///   ///   ///  
         public   string  GetRegVal( string  keypath,  string  keyname,  string  def)
        {
            
try
            {
                RegistryKey key 
=  rootkey.OpenSubKey(keypath);
                
return  key.GetValue(keyname, ( object )def).ToString();
            }
            
catch
            {
                
return  def;
            }
        }

        
///   ///  设置路径为keypath,键名为keyname的注册表键值为keyval  ///   ///   ///   ///  
         public   bool  SetRegVal( string  keypath,  string  keyname,  string  keyval)
        {
            
try
            {
                RegistryKey key 
=  rootkey.OpenSubKey(keypath,  true );
                key.SetValue(keyname, (
object )keyval);
                
return   true ;
            }
            
catch
            {
                
return   false ;
            }
        }
        
///   ///  创建路径为keypath的键  ///   ///   ///  
         public  RegistryKey CreateRegKey( string  keypath)
        {
            
try
            {
                
return  rootkey.CreateSubKey(keypath);
            }
            
catch
            {
                
return   null ;
            }
        }
        
///   ///  删除路径为keypath的子项  ///   ///   ///  
         public   bool  DelRegSubKey( string  keypath)
        {
            
try  {
                rootkey.DeleteSubKey(keypath); 
return   true
            }
            
catch  
            { 
                
return   false ;
            }
        }

        
///   ///  删除路径为keypath的子项及其附属子项  ///   ///   ///  
         public   bool  DelRegSubKeyTree( string  keypath)
        {
            
try
            {
                rootkey.DeleteSubKeyTree(keypath);
                
return   true ;
            }
            
catch
            {
                
return   false ;
            }
        }
        
///   ///  删除路径为keypath下键名为keyname的键值  ///   ///   ///   ///
         public   bool  DelRegKeyVal( string  keypath,  string  keyname)
        {
            
try
            {
                RegistryKey key 
=  rootkey.OpenSubKey(keypath,  true );
                key.DeleteValue(keyname);
                
return   true ;
            }
            
catch
            {
                
return   false ;
            }
        }
    }

你可能感兴趣的:(注册表)