使用C#操作注册表
这节讲一下使用C#操作注册表。
首先来了解一下,什么是注册表,注册表是Windows中特有的一个东西,百度百科中对其解释如下:Windows注册表(Registry)实质上是一个庞大的数据库,它存储着下面这些内容:用户计算机软、硬件的有关配置和状态信息,应用程序和资源管理器外壳的初始条件、首选项和卸载数据;计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件的描述、状态和属性;计算机性能记录和底层的系统状态信息,以及各类其他数据。
也就是说,这是个存储很重要的数据的东西,本文将仅从数据读取和写入入手,带读者一窥究竟,另外要注意,注册表不要随意修改,一旦注册表遭到损坏,将是致命的,可以说整个windows都依赖注册表。
创建注册表子项:
注册表宏观上是一个树结构,从数据层面上看它是一个键值对的形式,具体的创建流程如下:
using Microsoft.win32;//操作注册表所在的程序集
RegistryKey key;
key = Registry.CurrentUser.CreateSubKey("Charles_Test");//创建子节点
key.SetValue("Test","admin");//添加一行数据
key.Close();//关闭连接
这个就是在当前用户的注册表中创建了一个名为Charles_Test的字节点,然后又为其添加了一项数据,数据以键值对的形式存储。使用完毕后将其关掉。
我们可以在注册表中查看到:

快捷启动注册表的方式:win+r 启动运行窗口,然后键入regedit即可。
读取数据:
RegistryKey key;
key = Registry.CurrentUser.OpenSubKey("Charles_Test");
var value = key.GetValue("Charles_Test");
key.close();
先获取到这个子节点,然后通过getValue()方法通过键名获取数据。
删除节点:
Registry.CurrentUser.DeleteSubKey("Charles_Test");
调用DeleteSubKey()删除子节点。
这是我的公众号二维码,获取最新文章,请关注此号

使用C#操作注册表的更多相关文章
- [转]C#操作注册表
原文链接:http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-regidit.html 下面我们就来用.NET下托管语言C#注册表操作,主 ...
- [荐]使用Js操作注册表
使用Js操作注册表 要操作注册表需要通过ActiveX控件调用WScript.shell对象,通过该对象的一些方法来操作. WshShell对象:可以在本地运行程序.操纵注册表内容.创建快捷方式或访问 ...
- c++ 操作注册表
1. 注册表简介 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件,用于存储系统和应用程序的设置信息.16位驱动在Winnt (Win ...
- .Net操作注册表--un
C#操作注册表 导入命名空间 Using MicroSoft.Win32;//64位系统装的64位版本
- C#操作注册表全攻略
相信每个人对注册表并不陌生,在运行里面输入“regedit”就可以打开注册表编辑器了.这东西对Windows系统来说可是比较重要的,也是病 毒常常会光顾的地方,比如病毒和恶意软件常常会在注册表的启动项 ...
- C#获取cpu序列号 硬盘ID 网卡硬地址以及操作注册表 .
转:http://blog.csdn.net/smartsmile2012/article/details/8682295 #region 获取cpu序列号 硬盘ID 网卡硬地址 /**/ /// & ...
- VBS 操作注册表 十六进制
使用VBS操作注册表,通常使用RegRead/RegWrite/RegDelete方法,如: RegRead: 'read.vbs(将以下代码存为read.vbs文件) Dim OperationRe ...
- win7 64bit+vs2010 操作注册表
注册表五个根键 HKEY_CLASSES_ROOT--管理文件系统 HKEY_LOCAL_MACHINE--管理当前系统硬件配置 HKEY_LOCAL_USER--管理系统当前用户配置 HKEY ...
- How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置
原文:How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置 IS脚本操作注册表在64位平台下必须有特殊的设置 if (SYSINFO.bIsWow64) then ...
- C# 访问操作注册表整理
一..net注册表操作简介 .net中Registry 类,RegistryKey 类提供了操作注册表的接口 RegistryValueKind,用于指定操作注册表的数据类型. 二.使用实例 //获取 ...
随机推荐
- python 常用的库
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...
- Python中树的遍历-堆排序
1.二叉树的遍历 遍历:迭代所有元素一遍. 树的遍历:对树中所有的元素不重复的访问一遍,也成扫描 广度优先遍历:层序遍历 深度优先遍历:前序.中序.后续遍历. 遍历序列:将树中所有元素遍历一遍后,得到 ...
- js--如何实现继承?
前言 学习过 java 的同学应该都知道,常见的继承有接口继承和实现继承,接口继承只需要继承父类的方法签名,实现继承则继承父类的实际的方法,js 中主要依靠原型链来实现继承,无法做接口继承. 学习 j ...
- 全网最详细的Linux命令系列-cp命令
cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果是 ...
- [Fundamental of Power Electronics]-PART I-4.开关实现-0 序
4 开关实现 在前面的章节中我们已经看到,可以使用晶体管,二极管来作为Buck,Boost和其他一些DC-DC变换器的开关元件.也许有人会想为什么会这样,以及通常如何实现半导体的开关.这些都是值得被提 ...
- 小心,别被eureka坑了
Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的.SpringCloud将它集成在其子项 ...
- 北航OO第三单元作业总结(3.1~3.3)
JML简介及相关工具链使用 1.JML规格描述语言介绍 本单元学习的内容是JML规格描述语言.我们知道,面向对象方法是一个抽象过程,需求者仅需关注方法的规格.规格是对一个方法/类/程序的外部可感知行为 ...
- BUAA_2020_OO_UNIT2_REVIEW
OO第二单元总结 1. 设计策略 总的来说,三次作业没有大的重构,都是使用了多线程进行电梯调度,输入线程和运行线程分离,主要的不同在于三次电梯调度器线程的数量有所不同,第一次为一个,第二次为n个,第三 ...
- nginx配置实例及多服务器负载
目录 nginx配置实例 多服务器负载 nginx配置实例 nginx.conf worker_processes 1; events { worker_connections 1024; } htt ...
- [开源]制作docker镜像不依赖linux和Docker环境
背景 最近群友们经常反馈docker镜像制作起来有点麻烦,我开源的antdeploy工具虽然可以制作镜像但是必须有一个提前:有一台安装好docker的linux服务器.因为大家开发环境基本上都是win ...