通过.NET精通Window注册表知识

ZDNet软件频道 时间:2002-10-24 作者:BUILDER.COM |  我要评论()
本文关键词:
随着.NET的出现,对注册表的操作变得很容易了。.NET类库包括一套类,Microsoft.Win32.Registry及Microsoft.Win32.RegistryKey,这些都提供了对Win32注册表访问函数的封装。
在Windows注册表出现之前,系统程序以文本格式的INT文件存储系统配置信息,这样的“老式时钟”记录着系统的变化。几年以前,微软告诉我们这些开发人员,INT文件是如何如何的差劲以致于我们应该停止使用INT文件而开始使用名为注册表的新东西。虽然VB6开发人员能熟练地使用Win32 API注册表函数来操作注册表,但是注册表还是相当复杂的。

现在,随着.NET的出现,对注册表的操作变得很容易了。.NET类库包括一套类,Microsoft.Win32.RegistryMicrosoft.Win32.RegistryKey,这些都提供了对Win32注册表访问函数的封装。在详细查阅这些类库之前,让我们先看一看注册表如何组织及你如何在.NET程序中使用它们。

理解注册表的结构

如果你以前没有操作过注册表,那么最好的方法就是把它想象成系统上的文件夹。主文件夹相当于注册表中的主键;子文件夹相当于注册表中的副键。每一个副键也可以有一个或多个值,这些值就是实质数据存放地址。

硬盘上有唯一的根目录,注册表有几个主键,这正如一个蜂窝,如果你认识到这一类比,你就可以很好地理解注册表的结构。当Windows操作系统的版本不同时,主键的数量及名称也有些不相同。图A显示了NT操作系统的蜂窝结构的注册表。

图A

Hive name

Intended use

HKEY_Local_Machine

保存如下方面的信息:系统硬件,安全设置,各种配置数据,启动设置等。

HKEY_Current_User

保存系统中当前用户操作的信息,如颜色参数选择,环境变量,打印设置等等。

HKEY_Classes_Root

保存COM,OLE,DDE方面的信息,与文件信息相类似。

HKEY_Users

永久地保存特定用户的配置信息。

HKEY_Performance_Data

一个注册表中不存在的虚拟的键,它能够被注册表API所访问。

HKEY_Current_Config

实际上是HKEY_Local_Machine的副键,保存系统动态配置信息。

 

在通用情况下,你会对注册表的以下几个方面进行操作。

  • 检查一个特定的键是不是存在
  • 返回特定键的值
  • 保存返回特定键的值

在这三个方面,最后两个通常是一些可访问的键,它们位于HKEY_Local_Machine主键的副健中。访问一个副健通常以根蜂窝为开始。例如,为了访问一个位于HKEY_Local_MachineSoftware名为MyKey的副健,你应该先从主键进入,再打开HKEY_Local_MachineSoftwareMyKey,就可以操作它所包含的值。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134