C#操作注册表(简单方便,兼容X32X64)

大家好,我在这里给大家介绍本人实现的操作注册表的类,简单方便,兼容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)的更多相关文章

  1. c++ 操作注册表

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

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

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

  3. Process Monitor监控进程操作注册表如何实现?

    http://zhidao.baidu.com/link?url=Kqav4qkQSprC5FnpHPOGJvhqvY9fJ9-Vdx9g_SWh4w5VOusdRJo4Vl7qIdrG4LwRJvr ...

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

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

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

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

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

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

  7. C#操作注册表全攻略

    相信每个人对注册表并不陌生,在运行里面输入“regedit”就可以打开注册表编辑器了.这东西对Windows系统来说可是比较重要的,也是病 毒常常会光顾的地方,比如病毒和恶意软件常常会在注册表的启动项 ...

  8. C#获取cpu序列号 硬盘ID 网卡硬地址以及操作注册表 .

    转:http://blog.csdn.net/smartsmile2012/article/details/8682295 #region 获取cpu序列号 硬盘ID 网卡硬地址 /**/ /// & ...

  9. VBS 操作注册表 十六进制

    使用VBS操作注册表,通常使用RegRead/RegWrite/RegDelete方法,如: RegRead: 'read.vbs(将以下代码存为read.vbs文件) Dim OperationRe ...

随机推荐

  1. Python进阶04函数的参数对应

    我们已经接触过函数(function)的参数(arguments)传递.当时我们根据位置,传递对应的参数.我们将接触更多的 参数传递方式. 回忆一下位置传递: def f(a,b,c): return ...

  2. Sublime插件:增强篇

    Sublime Text 如何安装插件详见:https://packagecontrol.io/installation WordCount:可以实时显示当前文件的字数. 安装后,后下角多出字数 En ...

  3. Android Studio(九):引用jar及so文件

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

  4. oracle使用表的别名(Alias)

    当在SQL语句中连接多个表时, 请使用表的别名并把别名前缀于每个Column上.这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误.   (Column歧义指的是由于SQL中不同 ...

  5. Python学习--not语句

    布尔型True和False,not True为False,not False为True,以下是几个常用的not的用法: (1) not与逻辑判断句if连用,代表not后面的表达式为False的时候,执 ...

  6. H3C ISDN BRI和PRI

  7. 用mysql查询某字段是否有索引

    可以使用SHOW INDEX FROM table_name来查看表的索引,从而查看字段的索引:查询结果中table为表名,key_name为索引名,Column_name为列名

  8. Spring Security 学习笔记-授权控制过滤器

    FilterSecurityInterceptor  是比较核心的过滤器,主要负责授权工作.SecurityMetadataSource 需要安全授权的元数据资源 AuthenticationMana ...

  9. linux 后备缓存

    一个设备驱动常常以反复分配许多相同大小的对象而结束. 如果内核已经维护了一套相同 大小对象的内存池, 为什么不增加一些特殊的内存池给这些高容量的对象? 实际上, 内核 确实实现了一个设施来创建这类内存 ...

  10. 手机网页H5 自适应不同分辨率的屏幕 必学标签meta之viewport

    viewport 语法介绍 <meta name="viewport"content=" height = [pixel_value | device-height ...