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

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*shellSublimeTextCommand")

构造函数会自动判断注册表项的根注册表是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 <值>)方法。

原文地址:https://www.cnblogs.com/tkt2016/p/11981405.html