表示 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. 为ant指定编译版本

    用Eclipse的ant折腾了一天也没搞清楚为什么同样的设置ant出的class版本却不一样.后来下载个ant工具在命令行执行通过. 从网上抄得指定编译版本的方法如下: ant 运行时,必需依赖jdk ...

  2. 你的 Docker 应用是安全的吗?

    近一年来,Docker 已经逐渐成为 container 界的事实标准,成为技术人员不可或缺的技能之一,就像 Docker 宣称的那样,「Build,Ship,and Run Any App,Anyw ...

  3. Android中关于List与Json转化问题

    比如 List<String>list=new ArrayList<String>(); list.add("test1"); list.add(" ...

  4. java:找出占用CPU资源最多的那个线程(HOW TO)

    在这里对linux下.sun(oracle) JDK的线程资源占用问题的查找步骤做一个小结:linux环境下,当发现java进程占用CPU资源很高,且又要想更进一步查出哪一个java线程占用了CPU资 ...

  5. 精通iOS开发(第5版)

    <精通iOS开发(第5版)> 基本信息 原书名:Beginning ios 6 development:exploring the ios sdk 作者: (美)David Mark   ...

  6. Apache Hadoop RPC Authentication 安全绕过漏洞

    漏洞名称: Apache Hadoop RPC Authentication 安全绕过漏洞 CNNVD编号: CNNVD-201308-425 发布时间: 2013-08-28 更新时间: 2013- ...

  7. 几款常用Eclipse java插件

    以下是我最近常用的几款Eclipse java插件: ADT Plugin https://dl-ssl.google.com/android/eclipse/ WindowBuilder Pro  ...

  8. 解决外部机器通过VM内ubuntu IP 无法访问vm内web服务的问题

    1. 2.i root@ubuntu:/home/udapeng# ifconfig root@ubuntu:/www/sentry# nano uwsgi.ini root@ubuntu:/www/ ...

  9. record

    http://www.cnblogs.com/90zeng/p/python_translation.html http://www.cnblogs.com/netfocus/p/4478094.ht ...

  10. (组合数学3.1.1.1)POJ 1146 ID Codes(字典序法)

    /* * POJ_1146.cpp * * Created on: 2013年10月8日 * Author: Administrator */ #include <iostream> #i ...