• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# 访问操作注册表整理

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一、.net注册表操作简介

.net中RegistryKey 类提供了操作注册表的接口

RegistryValueKind,用于指定操作注册表的数据类型。

二、使用实例

//获取子节点数量
Console.WriteLine(Registry.LocalMachine.SubKeyCount);

//获取所有自己点的键值
string[] subs = Registry.LocalMachine.GetSubKeyNames();
foreach (var item in subs)
{
    Console.WriteLine(item);
}

//打开子节点
RegistryKey sub1 = Registry.LocalMachine.OpenSubKey(subs[0]);
Console.WriteLine(sub1.Name); //HKEY_LOCAL_MACHINE\BCD00000000

//打开子节点2,特别说明不能\开头,不能包含根节点
RegistryKey sub2 = Registry.LocalMachine.OpenSubKey(@"BCD00000000\Description", true);
Console.WriteLine(sub2.Name);//HKEY_LOCAL_MACHINE\BCD00000000\Description

//获取项下的 键值
string[] names = sub2.GetValueNames();
foreach (var item in names)
{
    //获取值
    Console.WriteLine(item + "--->" + sub2.GetValue(item));
}

//特别注意,如果想写入内容,在打开注册表的时候writable,需要设置成true
//创建键值
sub2.SetValue("zhangsan", "1234", RegistryValueKind.String);

//创建子项
RegistryKey sub3 = sub2.CreateSubKey("sub3");
sub3.SetValue("sub3_key", 1100, RegistryValueKind.DWord);

三、特别说明

1.打开注册表示,不能\开头,不能包含根节点

//打开子节点2,特别说明不能\开头,不能包含根节点
RegistryKey sub2 = Registry.LocalMachine.OpenSubKey(@"BCD00000000\Description", true);
Console.WriteLine(sub2.Name);//HKEY_LOCAL_MACHINE\BCD00000000\Description

2.写入注册表当前程序需要有足够的权限,推荐一管理员身份运行当前程序。

3.如果想写入内容,在打开注册表的时候writable,需要设置成true

4.对于已经存在的键值或项,则直接覆盖不抛出异常

更多:

Registry 类

RegistryKey 类

注册表相关枚举

C#如何以管理员身份运行程序(转)


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#:在catch中return,会执行finally吗?发布时间:2022-07-10
下一篇:
从C# 3.0到F#发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap