注册表操作

    技术2022-05-11  16

    (一)写入   1.建立文件    建立一个注册表格式文件: *.reg,内容如下:

        Windows Registry Editor Version 5.00    [HKEY_LOCAL_MACHINE/SOFTWARE/Test]    "server"="192.168.66.22"    "database"="NorthWind"    "user"="XiaoWang"    "Password"="123456"    其中:     I.       [HKEY_LOCAL_MACHINE/SOFTWARE/Test] : 表示路径,如果路径不存在,系统会自动创建路径     II.       "server"="192.168.66.22"       "database"="NorthWind"       "user"="XiaoWang"       "Password"="123456"        表示: 键和值,左边是键,右边是键的值。 在读取时根据键读取.           2.双击运行即可。 它会自动将键值放到配置好的路径下面.

    (二) 读取   打开命名空间:   using Microsoft.Win32;   1.方法     //参数1表示路径. 如: HKEY_LOCAL_MACHINE/SOFTWARE     //参数2表示键.  自定义的     public static object GetRegValue(string strRegPath,string strName)  {   strRegPath = strRegPath.Trim();   //接收值的对象                   object objRet;

       // 如果名称为空,则抛出一个参数为空的异常。                           if (strName == "")   {    throw new ArgumentNullException(strName,"键值不能为空!");   }       

       //去除"/"字符   if ( strRegPath.StartsWith("//") )    {    strRegPath = strRegPath.Substring(1,strRegPath.Length - 1);   }   if ( strRegPath.EndsWith("//") )   {    strRegPath = strRegPath.Substring(0,strRegPath.Length - 1);   }

       //拆分根键和路径                           string strRootKey,strPath;   int intIndex = strRegPath.IndexOf("//");

       strRootKey = strRegPath.Substring(0,intLoc).ToUpper();

       strPath = strRegPath.Substring(intIndex  + 1,strRegPath.Length - intIndex - 1);   RegistryKey _root;   switch( strRootKey )   {    case "HKEY_CLASSES_ROOT":     _root = Registry.ClassesRoot;     break;    case "HKEY_CURRENT_CONFIG":     _root = Registry.CurrentConfig;     break;    case "HKEY_CURRENT_USER":     _root = Registry.CurrentUser;     break;    case "HKEY_DYN_DATA":     _root = Registry.DynData;     break;    case "HKEY_LOCAL_MACHINE":     _root = Registry.LocalMachine;     break;    case "HKEY_PERFORMANCE_DATA":     _root = Registry.PerformanceData;     break;    case "HKEY_USERS":     _root = Registry.Users;     break;    default:     throw new Exception("找不到路径!");   }

       try   {    //打开注册表路径的键                                    RegistryKey regKey = _root.OpenSubKey(@strPath);    //取值                 objRet = regKey.GetValue(strName);   }   catch(Exception e)   {    throw e;   }

       return objRet;  }

        2.用法:         string strConnectString = GetRegValue(@"HKEY_LOCAL_MACHINE/SOFTWARE/Test","strConnString").ToString();

    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=519087


    最新回复(0)