C#读写注册表

使用注册表需要包含名字空间:using Microsoft.Win32。

  • 判断注册表项是否存在及写入注册表

【例1】判断当前用户下的注册表项software\UpdateMode是否存在,不存在的话创建。然后写入指定的value值到注册表项UpdateMode中。

调用格式:

SaveRenewWaysToRegistry(“2015-6-28”);

 

private void SaveRenewWaysToRegistry(string value)

{

try

{

  RegistryKey rk = Registry.CurrentUser; //RegistryKey rk = Registry.LocalMachine;

  if (!IsRegeditItemExist("software","UpdateMode"))//如果不存在该注册表项则创建

  {

     RegistryKey software = rk.CreateSubKey(@"software\UpdateMode");

 }

  RegistryKey srk = rk.OpenSubKey(@"software\UpdateMode",true);//.CreateSubKey(@"software\UpdateMode");

  srk.SetValue("UpdateMode",value);

}

catch (Exception e)

{

    MessageBox.Show(e.Message);

}

}

 

/// <summary>

/// 判断注册表项是否存在

/// </summary>

/// <returns></returns>

private bool IsRegeditItemExist(string subKey,string value)

{

string[] subkeyNames;

RegistryKey hkml = Registry.CurrentUser;

RegistryKey software = hkml.OpenSubKey(subKey);

//RegistryKey software = hkml.OpenSubKey("SOFTWARE", true);

subkeyNames = software.GetSubKeyNames();

//取得该项下所有子项的名称的序列,并传递给预定的数组中

foreach (string keyName in subkeyNames)

//遍历整个数组

{

if (keyName.Equals(value))

//判断子项的名称

{

hkml.Close();

return true;

}

}

hkml.Close();

return false;

}

  • 读取注册表项的值

【例1】读取注册表项当前用户下的注册表项software\UpdateMode的值。

String value = this.ReadFromRegistry();//读取注册表项UpdateMode的内容

 

private string ReadFromRegistry()

{

try

{

if (!IsRegeditItemExist("software","UpdateMode"))//不存在该注册表项

{

return string.Empty;

}

RegistryKey rk = Registry.CurrentUser.OpenSubKey(@"software\UpdateMode",true);

string info = rk.GetValue("UpdateMode").ToString();

return info;

}

catch (Exception e)

{

throw e;

}

}

  • 0
    点赞
  • 5
    收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页
评论

打赏作者

数据之道

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值