一、.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. 【BZOJ】3168: [Heoi2013]钙铁锌硒维生素

    题解 Ca Fe Zn Se 显然我们既然初始矩阵就能通过线性变换变成单位矩阵,则该矩阵一定有逆 没有逆输出NIE 而且因为这些向量两两正交,则表示一个向量的时候表示方法唯一 那么我们求一个逆可以求出 ...

  2. 【LOJ】#2278. 「HAOI2017」字符串

    题解 好神仙的题啊 感觉转二维平面能想到,算重复情况的方法真想不到啊 通过扒stdcall代码获得的题解QAQQQQ 我们先把\(p_i\)正串反串建出一个AC自动机来 然后我们把s串放在上面跑匹配, ...

  3. ClouderaManager中Event Server报No such file or directory

    错误日志如下: 2015-06-24 06:13:10,176 ERROR com.cloudera.cmf.eventcatcher.server.EventCatcherService: Erro ...

  4. 010 innerHtml的使用

    1.程序 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

  5. 大数据小视角4:小议Lambda 与 Kappa 架构,不可变数据的计算探索

    这个系列文章之前因为私事荒废了很久,继续更新--之前与老大谈论架构时,老大和我聊了聊分布式数据处理之中的Lambda结构,之前在<Designing Data-Intensive Applica ...

  6. C++雾中风景10:聊聊左值,纯右值与将亡值

    C++11的版本在类型系统上下了很大的功夫,添加了诸如auto,decltype,move等新的关键词来简化代码的编写与降低阅读代码的难度.为了更好的理解这些新的语义,笔者确定通过几篇文章来简单窥探一 ...

  7. linux入门系列

    Linux基础入门 常用Linux命令 linux学习笔记-1.man_page linux学习笔记-2.常用命令 linux学习笔记-3.文件相关命令 linux学习笔记-4.系统命令 linux学 ...

  8. 基于SOA的银行系统架构

    Part-1  [简述] 1.通过引入面向服务架构(SOA),企业服务总线(ESB),适配器(Adapter)及面向构件等技术,尝试打造一个统一业务流程服务平台,实现面向流程的服务集成. 2.传统银行 ...

  9. C#开发Unity游戏教程之游戏对象的行为逻辑方法

    C#开发Unity游戏教程之游戏对象的行为逻辑方法 游戏对象的行为逻辑——方法 方法(method),读者在第1章新建脚本时就见过了,而且在第2章对脚本做整体上的介绍时也介绍过,那么上一章呢,尽管主要 ...

  10. 牛客网某比赛 I 小乐乐学博弈 博弈论

    题目大意: 有两堆石子\(n\)和\(m\),每次可以拿\(1 \sim k\)个 \(k >= |n - m|\) 问先手必胜? 把限制条件去掉才有意思 首先考虑两堆相等,那么先手怎么操作,后 ...