• C#注册表操作方法


    (一)写入

       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();

  • 相关阅读:
    MongoDB数据库遭大规模勒索攻击,被劫持26000多台服务器 #精选GITHUBMYSQL
    前端追着设计砍系列的9个超酷网页特效
    15款不容错过的前端开发Javascript和css类库
    恶性循环中的永生bug,可以说是相当写实了
    你是码农还是专家?看看你是哪一类程序员
    夏天过去了, 姥爷推荐几套来自smashingmagzine的超棒秋天主题壁纸
    五毛党可能要失业了,因为AI水军来了
    现代软件工程 第五章 【团队和流程】练习与讨论
    现代软件工程 第四章 【结对编程】练习与讨论
    现代软件工程 课件 软件工程师能力自我评价表
  • 原文地址:https://www.cnblogs.com/zhangpengshou/p/1699876.html
Copyright © 2020-2023  润新知