一、.net注册表操作简介

.net中Registry 类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[]);
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", "", RegistryValueKind.String); //创建子项
RegistryKey sub3 = sub2.CreateSubKey("sub3");
sub3.SetValue("sub3_key", , 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#如何以管理员身份运行程序(转)

C# 访问操作注册表整理的更多相关文章

  1. [荐]使用Js操作注册表

    使用Js操作注册表 要操作注册表需要通过ActiveX控件调用WScript.shell对象,通过该对象的一些方法来操作. WshShell对象:可以在本地运行程序.操纵注册表内容.创建快捷方式或访问 ...

  2. c++ 操作注册表

    1.       注册表简介 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件,用于存储系统和应用程序的设置信息.16位驱动在Winnt (Win ...

  3. win7 64bit+vs2010 操作注册表

    注册表五个根键 HKEY_CLASSES_ROOT--管理文件系统  HKEY_LOCAL_MACHINE--管理当前系统硬件配置  HKEY_LOCAL_USER--管理系统当前用户配置  HKEY ...

  4. Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结

    Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结 1. 注册表是树形数据库 1 2. 注册表的由来 1 3. Java  操作注册表 2 3.1. 使用Preferences  ...

  5. 对Jscript操作注册表接口的一点不解

    作者:朱金灿 来源:http://blog.csdn.net/clever101 要操作注册表需要通过ActiveX控件调用WScript.shell对象,通过该对象的一些方法来操作.Wshshell ...

  6. python3 操作注册表

    1.1 读取 import winreg key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,r"Software\Microsoft\Windows ...

  7. Win64 驱动内核编程-6.内核里操作注册表

    内核里操作注册表 RING0 操作注册表和 RING3 的区别也不大,同样是"获得句柄->执行操作->关闭句柄"的模式,同样也只能使用内核 API 不能使用 WIN32 ...

  8. [转]C#操作注册表

    原文链接:http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-regidit.html 下面我们就来用.NET下托管语言C#注册表操作,主 ...

  9. .Net操作注册表--un

    C#操作注册表 导入命名空间 Using MicroSoft.Win32;//64位系统装的64位版本

随机推荐

  1. Action的模型绑定

    - 你真的会用Action的模型绑定吗?   在QQ群或者一些程序的交流平台,经常会有人问:我怎么传一个数组在Action中接收.我传的数组为什么Action的model中接收不到.或者我在ajax的 ...

  2. 【LOJ】#121. 「离线可过」动态图连通性

    题解 和BZOJ4025挺像的 就是维护边权是时间的最大生成树 删边直接删 两点未联通时直接相连,两点联通则找两点间边权小的一条边删除即可 代码 #include <bits/stdc++.h& ...

  3. 【AtCoder】AGC028 (A-E)题解

    A - Two Abbreviations 如果有最小答案的话这个答案一定是N和M的lcm 我们考虑一下什么情况下 \(k \frac{L}{N} = h \frac{L}{M}\)且\(k,g\)互 ...

  4. bzoj 1179

    题意:给你一个有向图,每个点有一个权值,有一个起点和q个终点,没经过一个点加上这个点的权值,让你选一条路,问你最大值是多少. 思路:tarjan强连通缩个点, 然后在拓扑图上dp一下就好啦, 注意第二 ...

  5. 【noip模拟赛2】牛跳

    描述 John的奶牛们计划要跳到月亮上去.它们请魔法师配制了P(1 <= P <=150,000)种药水,这些药水必需安原来的先后次序使用,但中间可以跳过一些药水不吃.每种药水有一个“强度 ...

  6. JdbcTemplate使用小结

    org.springframework.jdbc.core.JdbcTemplate.query(String sql, Object[] args, RowMapper<StaffUnionV ...

  7. 一个关于react-native的demo,详细请转GitHub

    react native 0 介绍 支持ios和android两个平台 下载:git clone https://github.com/chunlei36/react-native-full-exam ...

  8. HTML基础单页面总结(基于w3school教程)

    学习了一阵http://www.w3school.com.cn网站上的html教程,发现各个知识点比较分散,个人比较倾向于用一页html文档就把所有涉及的基本html标签元素知识点都展示出来的形式.个 ...

  9. 安装node.js / npm / express / KMC

    http://www.cnblogs.com/seanlv/archive/2011/11/22/2258716.html 1. 下载Node.js官方Windows版程序: http://nodej ...

  10. ERROR 2002 (HY000): Can&#39;t connect to local MySQL server through socket

    在安装好了MySQL之后,使用了新的配置文件后.MySQL服务器能够成功启动,但在登陆的时候出现了ERROR 2002 (HY000): Can't connect to local MySQL se ...