C#操作注册表之RegistryKey类

 更新时间:2022年05月13日 11:32:04   作者:天马3798  
这篇文章介绍了C#操作注册表之RegistryKey类,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

表示 Windows 注册表中的项级节点。 此类是注册表封装。

继承层次结构

System.Object 
  System.MarshalByRefObject
    Microsoft.Win32.RegistryKey

命名空间:Microsoft.Win32

程序集:mscorlib(在 mscorlib.dll 中) 

属性

名称说明
Handle获取一个 SafeRegistryHandle 对象,该对象表示当前 RegistryKey 对象封装的注册表项。
Name检索项的名称。
SubKeyCount检索当前项的子项数目。
ValueCount检索项中值的计数。
View获取用于创建注册表项的视图。

方法

名称说明
Close关闭该项,如果该项的内容已修改,则将该项刷新到磁盘。
CreateSubKey(String)创建一个新子项或打开一个现有子项以进行写访问。
CreateSubKey(String, RegistryKeyPermissionCheck)使用指定的权限检查选项创建一个新子项或打开一个现有子项以进行写访问。
CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)使用指定的权限检查和注册表选项,创建或打开一个用于写访问的子项。
CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)使用指定的权限检查选项和注册表安全性创建一个新子项或打开一个现有子项以进行写访问。
CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)使用指定的权限检查选项、注册表选项和注册表安全性,创建或打开一个用于写访问的子项。
DeleteSubKey(String)删除指定的子项。
DeleteSubKey(String, Boolean)删除指定的子项,并指定在找不到该子项时是否引发异常。
DeleteSubKeyTree(String)递归删除子项和任何子级子项。
DeleteSubKeyTree(String, Boolean)以递归方式删除指定的子项和任何子级子项,并指定在找不到子项时是否引发异常。
DeleteValue(String)从此项中删除指定值。
DeleteValue(String, Boolean)从此项中删除指定的值,并指定在找不到该值时是否引发异常。
Dispose释放由 RegistryKey 类的当前实例占用的所有资源。
Flush将指定的打开注册表项的全部特性写到注册表中。
FromHandle(SafeRegistryHandle)根据指定的句柄创建注册表项。
FromHandle(SafeRegistryHandle, RegistryView)利用指定的句柄和注册表视图设置创建注册表项。
GetAccessControl()返回当前注册表项的访问控制安全性。
GetAccessControl(AccessControlSections)返回当前注册表项的访问控制安全性的指定部分。
GetSubKeyNames检索包含所有子项名称的字符串数组。
GetValue(String)检索与指定名称关联的值。 如果注册表中不存在名称/值对,则返回 null。
GetValue(String, Object)检索与指定名称关联的值。 如果未找到名称,则返回您提供的默认值。
GetValue(String, Object, RegistryValueOptions)检索与指定的名称和检索选项关联的值。 如果未找到名称,则返回您提供的默认值。
GetValueKind检索与指定名称关联的值的注册表数据类型。
GetValueNames检索包含与此项关联的所有值名称的字符串数组。
OpenBaseKey打开一个新的 RegistryKey,它使用指定的视图在本地计算机上表示请求的项。
OpenRemoteBaseKey(RegistryHive, String)打开一个新的 RegistryKey,它表示远程计算机上的请求的项。
OpenRemoteBaseKey(RegistryHive, String, RegistryView)打开一个新的注册表项,它使用指定的视图在远程计算机上表示请求的项。
OpenSubKey(String)以只读方式检索子项。
OpenSubKey(String, RegistryKeyPermissionCheck)检索指定的子项以进行读取或读/写访问。
OpenSubKey(String, Boolean)检索指定的子项,并指定是否将写访问权限应用于该项。
OpenSubKey(String, RegistryKeyPermissionCheck, RegistryRights)检索指定的子项以进行读取或读/写访问,请求指定的访问权限。
SetAccessControl向现有注册表项应用 Windows 访问控制安全性。
SetValue(String, Object)设置指定的名称/值对。
SetValue(String, Object, RegistryValueKind)使用指定的注册表数据类型设置注册表项中的名称/值对的值。
ToString检索此项的字符串表示形式。 (重写 Object.ToString()。)

备注

要获取 RegistryKey 的实例,请使用 Registry 类的静态成员之一。

注册表充当计算机上操作系统和应用程序的中央信息储存库。 注册表根据存储在其中的元素的逻辑顺序,以分层形式组织(有关该层次结构中的基级项,请参见 Registry)。在注册表中存储信息时,请根据存储的信息类型选择适当的位置。 一定要避免损坏由其他应用程序创建的信息,原因是这样会导致那些应用程序出现意外的行为,并且还会对您自己的应用程序带来不利影响。

注册表项是组织基本单元在注册表,并且可以与文件资源管理器的文件夹比较。 每个具体的注册表项都可以有子项,就像文件夹下可以有子文件夹一样。 只要用户具有相应的权限,且注册表项不是基项或基项的下一级项,就可以删除该注册表项。 每个注册表项也可带有与其相关联的多个值(一个值就好比是一个文件),它们用于存储信息,例如,有关计算机上安装的应用程序的信息。 每个值存储特定的信息,可按需要对其进行检索或更新。 例如,可以为您的公司创建一个 RegistryKey(在项 HKEY_LOCAL_MACHINE\Software 下),然后为您的公司创建的每个应用程序创建一个子项。 每个子项保存特定于该应用程序的信息,如颜色设置、屏幕位置和大小或者可识别的文件扩展名。

注意,存储在注册表中的信息可由其他应用程序和用户使用,因此不要用注册表存储安全数据或关键的应用程序信息。

警告

在公开 RegistryKey 对象时不要采用一种可能会导致恶意程序创建成千上万的无意义的子项或键/值对的方式。 例如,不允许调用方输入任意键或值。

在 .NET Framework 4 中开始,注册表项的长度不再限于 255 个字符。

到此这篇关于C#操作注册表之RegistryKey类的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • WPF实现倒计时转场动画效果

    WPF实现倒计时转场动画效果

    这篇文章主要介绍了如何利用WPF实现倒计时转场动画效果,文中的示例代码讲解详细,对我们学习或工作有一定帮助,需要的可以参考一下
    2022-08-08
  • C#使用百度Ueditor富文本框实现上传文件

    C#使用百度Ueditor富文本框实现上传文件

    这篇文章主要为大家详细介绍了C#如何使用百度Ueditor富文本框实现上传文件(图片,视频等),文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-07-07
  • C#实现图表中鼠标移动并显示数据

    C#实现图表中鼠标移动并显示数据

    这篇文章主要为大家详细介绍了C#实现图表中鼠标移动并显示数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • 浅析c# 接口

    浅析c# 接口

    这篇文章主要介绍了c# 接口的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下。
    2020-07-07
  • C#字符串自增自减算法详解

    C#字符串自增自减算法详解

    这篇文章主要为大家详细介绍了C#字符串自增自减的算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • C# 多线程更新界面的错误的解决方法

    C# 多线程更新界面的错误的解决方法

    这篇文章主要介绍了C# 多线程更新界面的错误方法,由于一个线程的程序,如果调用一个功能是阻塞的,那么就会影响到界面的更新,导致使用人员操作不便。所以往往会引入双线程的工作的方式,主线程负责更新界面和调度,而次线程负责做一些阻塞的工作,便有了下面春雨里方法
    2021-10-10
  • C#定义简单的反射工厂实例分析

    C#定义简单的反射工厂实例分析

    这篇文章主要介绍了C#定义简单的反射工厂的用法,实例分析了反射工厂的原理与使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • 讲解C#面相对象编程中的类与对象的特性与概念

    讲解C#面相对象编程中的类与对象的特性与概念

    这篇文章主要介绍了C#面相对象编程中的类与对象的特性与概念,OOP面向对象语言相对C语言这样面相过程的语言来说具有类和对象以及方法这样的特性,需要的朋友可以参考下
    2016-01-01
  • Unity UGUI实现滑动翻页效果

    Unity UGUI实现滑动翻页效果

    这篇文章主要为大家详细介绍了Unity UGUI实现滑动翻页效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • C# 全角和半角转换以及判断的简单代码

    C# 全角和半角转换以及判断的简单代码

    这篇文章介绍了在C#中判断和转换全角半角的方法,有需要的朋友可以参考一下
    2013-07-07

最新评论