zoukankan      html  css  js  c++  java
  • 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();

  • 相关阅读:
    浅谈jQuery easyui datagrid操作单元格样式
    关于翻页之后表格重新加载,之前选中的项丢失的问题处理
    jquery操作复选框(checkbox)的12个小技巧总结
    项目管理学习笔记之四.风险管理
    c#基于udp实现的p2p语音聊天工具
    漫说好管理vs.坏管理
    linux安装tomcat
    wifi共享精灵2014.04.25.001已经更新,wifi热点中文名走起!
    NYOJ 589 糖果
    MacBook Pro安装Photoshop且支持Retina有你们说的那么困难吗!
  • 原文地址:https://www.cnblogs.com/zhangpengshou/p/1699876.html
Copyright © 2011-2022 走看看