表示 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 个字符。

RegistryKey 类的更多相关文章

  1. 注册表操作 Microsoft.Win32.Registry与RegistryKey类

    一.注册表操作简介 Registry 类,RegistryKey 类提供了操作注册表的接口 RegistryValueKind:用于指定操作注册表的数据类型 一.注册表巢 在注册表中,最上面的节点是注 ...

  2. Registry 类

    提供表示 Windows 注册表中的根项的 RegistryKey 对象,并提供访问项/值对的 static 方法. 继承层次结构 System.Object   Microsoft.Win32.Re ...

  3. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  4. C#综合揭秘——通过修改注册表建立Windows自定义协议

    引言 本文主要介绍注册表的概念与其相关根项的功能,以及浏览器如何通过连接调用自定义协议并与客户端进行数据通信.文中讲及如何通过C#程序.手动修改.安装项目等不同方式对注册表进行修改.其中通过安装项目对 ...

  5. C#常用IO流与读写文件

    .文件系统 ()文件系统类的介绍 文件操作类大都在System.IO命名空间里.FileSystemInfo类是任何文件系统类的基类:FileInfo与File表示文件系统中的文件:Directory ...

  6. c# 其他技术学习

    1.注册表编辑 为了方便对注册表进行操作,.NET提供了Registry类和RegistryKey类 2.API函数的应用 (1)自定义特性的代码:在类.属性.方法的上方加上“[]”的代码 (2)有个 ...

  7. WinForm应用程序之注册模块的设计与实现

    Posted on 2012-11-13 10:21 星星之火116 阅读(3260) 评论(4) 编辑 收藏 我们在安装一些桌面应用程序的时候,往往在会有提示当前用户使用的是试用版,要进行注册.刚好 ...

  8. 【转】C#综合揭秘——通过修改注册表建立Windows自定义协议

    引言 本文主要介绍注册表的概念与其相关根项的功能,以及浏览器如何通过连接调用自定义协议并与客户端进行数据通信.文中讲及如何通过C#程序.手动修改.安装项目等不同方式对注册表进行修改.其中通过安装项目对 ...

  9. C#读取注册表信息

    注册表是视窗系统的一个核心的数据库,在这个数据库中存放中与系统相关的各种参数,这些参数直接控制中系统的启动.硬件的驱动程序安装信息以及在视窗系统上运行的各种应用程序的注册信息等.这就意味着,如果注册表 ...

随机推荐

  1. wget命令解析

           今天一学信息安全的同学让我编写一个软件,功能大致如下:输入网站首页,自动下载该网站所有网页并保存?拿到后感觉属于搜索引擎相关的,说实话我就感觉会用到递归,不过我不会写,百度也没找到资料, ...

  2. Windows常见蓝屏故障分析

    转自Windows常见蓝屏故障分析 症状描述: 当您在运行Microsoft Windows 2000/XP/Server 2003.Microsoft Windows Vista/Server 20 ...

  3. mvn详解

    1.前言 Maven,发音是[`meivin],"专家"的意思.它是一个很好的项目管理工具,很早就进入了我的必备工具行列,但是这次为了把project1项目完全迁移并应用maven ...

  4. 如何得到UBUNTU源代码

    http://www.pleaseguide.me/367/how-to-get-the-source-code-of-ubuntu 在按书作测试,有难点一一解决. Ubuntu's Source c ...

  5. 14.6.7 Configuring the Number of Background InnoDB IO Threads 配置InnoDB IO Threads的数量

    14.6.7 Configuring the Number of Background InnoDB IO Threads 配置InnoDB IO Threads的数量 InnoDB 使用后台线程来服 ...

  6. Jira在linux上安装与部署

    Where should JIRA 6.0.1 be installed? [/opt/atlassian/jira] /usr/local/jira Default location for JIR ...

  7. MapReduce扩展:应用程序如何运行于Hadoop Yarn之上

    1. 背景   “应用程序运行于Hadoop Yarn之上”的需求来源于微博运维数据平台中的调度系统,即调度系统中的任务需要运行于Hadoop Yarn之上.这里的应用程序可以简单理解为一个普通的进程 ...

  8. 在PC上使用串口向开发板传送文件

    之前一直使用的是NFS,即网络挂载文件系统,不愁文件的传输问题,但是不幸的是 前几天网络出现故障,使这种方式没法使用 变好的驱动程序一直没法下载到开发板里面,蛋疼欲裂啊. 于是乎折磨则么使用串口传输 ...

  9. ORACLE EXP-00011:表不存在的分析和解决方案

    解决方法: ~~看下数据库的延迟段创建参数 SQL> show parameter DEFERRED_SEGMENT_CREATION NAME                          ...

  10. 《A First Course in Probability》-chaper2-概率论公理

    概率论自身有一套很深的理论体系,读过<几何原本>的读者会知道,伟大的欧几里得之所以伟大,是因为它基于几条最基本的公理,推导除了整个欧式几何学的理论体系,同样,在概率论这里,一切的推导都是源 ...