C#操作注册表(简单方便,兼容X32和X64)
C#操作注册表(简单方便,兼容X32和X64)
大家好,我在这里给大家介绍本人实现的操作注册表的类,简单方便,兼容32位系统和64位系统.
一般大家用C#操作注册的方法是使用命名空间Microsoft.Win32中的RegistryKey,其实它使用起来没有那么方便.我在它的基础上实现了SharpRegistry类,可以简单方便操作注册表。它的源码在
https://github.com/TKT2016/WmnSharpCodes/blob/master/WmnSharpStdCodes/Windows/SharpRegistry.cs
如果有用,请给好评。源码仅供参考。
一 生成SharpRegistry对象
生成SharpRegistry对象用简单的new调用构造函数生成即可。
SharpRegistry sharpRegistry = new SharpRegistry("HKEY_CLASSES_ROOT\*\shell\SublimeText\Command")
构造函数会自动判断注册表项的根注册表是ClassesRoot,CurrentUser,LocalMachine,Users,CurrentConfig,如果不在此范围内会抛出异常,而且会判断当前操作系统是32位还是64位来采用合适的操作。对象创建后,如果这个注册表项存在,那么会自动打开这个项,不需要再写代码手动打开。
这样方便了使用,减轻了负担。
二注册表项的操作
1.判断是否存在
用 sharpRegistry.Exists属性,返回bool值结果。
2.创建
用 sharpRegistry.Create()方法,会创建这个注册表项。
3.删除
用 sharpRegistry.Delete()方法,会删除这个注册表项。但是如果这个注册表项下面还有子项,会出现异常。所以你需要先删除子项,再删除本项。
三注册表键值操作
1.读取键值
用 sharpRegistry.ReadSub(string <键名>)方法,会返回object类型的结果。
2.写入键值
用 sharpRegistry.WriteSub(string <键名>,object <值>)方法。
3.删除键
用 sharpRegistry.DeleteSub(string <键名>)方法。
4.获取所有键名称
用 sharpRegistry.GetSubItemNames()方法,会返回所有键的string[]类型的结果。
5.判断键是否存在
用 sharpRegistry.ExistsSub(string <键名>)方法,返回bool值结果。
6.读取默认值
每个注册表项都可能带有默认值,读取默认值用 sharpRegistry.ReadDefault()方法,会返回object类型的结果。
7.写入默认值
用 sharpRegistry.WriteDefault(string <键名>,object <值>)方法。
C#操作注册表(简单方便,兼容X32和X64)的更多相关文章
- c++ 操作注册表
1. 注册表简介 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件,用于存储系统和应用程序的设置信息.16位驱动在Winnt (Win ...
- Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结
Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结 1. 注册表是树形数据库 1 2. 注册表的由来 1 3. Java 操作注册表 2 3.1. 使用Preferences ...
- Process Monitor监控进程操作注册表如何实现?
http://zhidao.baidu.com/link?url=Kqav4qkQSprC5FnpHPOGJvhqvY9fJ9-Vdx9g_SWh4w5VOusdRJo4Vl7qIdrG4LwRJvr ...
- [转]C#操作注册表
原文链接:http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-regidit.html 下面我们就来用.NET下托管语言C#注册表操作,主 ...
- [荐]使用Js操作注册表
使用Js操作注册表 要操作注册表需要通过ActiveX控件调用WScript.shell对象,通过该对象的一些方法来操作. WshShell对象:可以在本地运行程序.操纵注册表内容.创建快捷方式或访问 ...
- .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 ...
随机推荐
- Bert系列(二)——源码解读之模型主体
本篇文章主要是解读模型主体代码modeling.py.在阅读这篇文章之前希望读者们对bert的相关理论有一定的了解,尤其是transformer的结构原理,网上的资料很多,本文内容对原理部分就不做过多 ...
- 开源中国 2014 最受关注开源软件排行榜 TOP 50
开源中国 2014 最受关注开源软件排行榜 TOP 50 开源中国 2014 年最受关注软件排行榜 TOP 50 正式出炉!2014 年结束了,我们来了解一下过去一年里开源中国最受欢迎的 50 款软件 ...
- 一文告诉你Adam、AdamW、Amsgrad区别和联系 重点
**序言:**Adam自2014年出现之后,一直是受人追捧的参数训练神器,但最近越来越多的文章指出:Adam存在很多问题,效果甚至没有简单的SGD + Momentum好.因此,出现了很多改进的版本, ...
- vue+vant 购物车的全选和反选
https://blog.csdn.net/wjswangjinsheng/article/details/91392694
- html中让多个li标签横排显示
1.我们可以通过为ul标签下所有li标签设定样式“display:inline-block”的方式,让多个li标签横排显示 2.除了以上方法,我们还可以所有li标签使用float(浮动)的方式,让多个 ...
- Python--day40--datetime,socketserver,Threading模块分别是哪些模块的高层模块
- svn 冲突解决办法(黄色感叹号)
右键:"TortoiseSVN"->"Resolved..."已解决的..., 选中全部的文件,然后OK,,然后就可以commit提交了.
- UVA 437 "The Tower of Babylon" (DAG上的动态规划)
传送门 题意 有 n 种立方体,每种都有无穷多个. 要求选一些立方体摞成一根尽量高的柱子(在摞的时候可以自行选择哪一条边作为高): 立方体 a 可以放在立方体 b 上方的前提条件是立方体 a 的底面长 ...
- D3.js力导向图中新增节点及新增关系连线示例
大家在使用D3.js中的力导向图时,基本都会遇到动态增加节点及连线的需求,这里记录一下我的实现方式. 话不多说,先放代码: <!DOCTYPE html> <html lang=&q ...
- 使用 node.js三行代码实现手机端访问html页面文件
首先确保你安装了node (全局安装) npm install -g browser-sync // --files 路径是相对于运行该命令的项目(目录) browser-sync start --s ...