.NET操作注册表

(一)写入
  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();

转载于:https://www.cnblogs.com/gaohades/archive/2006/08/28/488396.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值