开发者社区


C++/C | Java | .Net/Windows | Linux/Unix | 开源 | 其他
首页 - 编程
编程
全文搜索:   

如何用.NET操作Windows注册表
作者: Tony Patton
2006-09-24 14:02:34



注册表是每个Windows系统的重要组成部分。它包含与操作系统配置,硬件和所安装软件有关的大量信息。在.NET出现前,通过编程访问注册表要应用Windows API(应用程序接口)。.NET Framework通过Microsoft.Win32命名空间简化了这一过程。本文详细说明如何通过.NET操作注册表。

注册表概述

Windows注册表呈树状或层次结构。Windows提供注册表编辑器(regedt32.exe/regedit/exe)对其进行编辑。注册表由包含所有数据的键构成。这些键不能被删除或重命名。下表概括说明了这些键:

  • HKEY_CURRENT_USER:保存当前登录用户的配置信息。用户的文件夹、屏幕颜色和控制面板设置都存储在这个键中(也可称作用户基本资料)。它是HKEY_USERS的一个子键。
  • HKEY_USERS:这个键中包含计算机上所有用户的基本资料。
  • HKEY_LOCAL_MACHINE:这个键包含计算机的配置信息。
  • HKEY_CLASSES_ROOT:这个键包含文件关联信息。也就是说,它告诉Windows打开特定类型的文件应使用何种程序。它是HKEY_LOCAL_MACHINESoftware的一个子键。
  • HKEY_CURRENT_CONFIG:这个键包含计算机硬件信息。
  • HKEY_PERFORMANCE_DATA:在安装软件时,每个软件组件为它的对象和计数器建立键,并在执行时写入计数器数据。这种性能数据存储在这个键中。

这些键能够以各种方式存储数据。在注册表中,共有六个数据类型可用来存储数据。这些数据类型如下表所示:

  • REG_BINARY:以一串十六进制数对存储的二进制数据,每个数对的值在0-255之间。REG_BINARY的长度不固定。
  • REG_DWORD:它为双字数据类型,由四个字节(32位)的数字组成,其值在0-4GB之间。设备驱动器和服务参数通常为此数据类型。
  • REG_EXPAND_SZ:这个可扩充的字符串数据类型实际上是一个变量。在使用时,当字符串被系统调用时,它的值被真正的值代替。
  • REG_MULTI_SZ:多个字符串值,不同的值用空格、逗号和其它符号隔开。
  • REG_SZ:固定长度的文字字符串值。
  • REG_FULL_RESOURCE_DESCRIPTOR:它用于硬件注册表键中。

了解了注册表的基础知识,你就能够利用适当的.NET类来处理注册表的内容。

处理注册表

Microsoft.Win32命名空间为处理注册表提供必要的类。命名空间中的两个主要的类为Registry和RegistryKey。Registry联合RegistryKey一起访问个别的注册表键。它映射到前面列出的主要注册表键。

  • Registry.CurrentUser
  • Registry.Users
  • Registry.LocalMachine
  • Registry.ClassesRoot
  • Registry.CurrentConfig
  • Registry.PerformanceData

【下一页】
声明:
Builder.com.cn(原ZDNet China应用开发频道)原创文章版权所有,未经许可严禁转载,且不构成投资建议。
近期相关报道:
实用技术文档
J2me XML
C/C++ C#
Java Oracle
Mysql .Net
VB.NET CSS
SQL Server 数据库
SQL UNIX
Linux Jsp
PHP Perl
Javascript IIS
XHTML ColdFusion
ASP/ASP.NET Apache
AJAX
订阅技术邮件
订阅"技术圈"杂志!请在下面选择您感兴趣的专题,填写e-mail地址,然后按订阅按钮:
应用开发管理
VS.NET 周刊
Database 周刊
WEB Service周刊
JAVA 周刊
IT 认证
Windows服务器周刊
互联网开发
当Windows Server 2008专家得5000元现金大奖
CNET NETWORKS 中国: 爱卡汽车网 | CNET科技资讯网 | e询网 | CWEEK | 蜂鸟网 | GameSpot China | 个人电脑 | PChome | SPN | 网友世界 | ZDNet China | 中关村在线
CNET NETWORKS 美国: BNET | CNET.com | CNET Download.com | CNET News.com | CNET Reviews | CNET Shopper.com | GameSpot | MP3.com | mySimon | Release 1.0 | Search.com | TechRepublic | TV.com | Webshots | ZDNet
Copyright (c) 2006 CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
ZDNet 公司标识是 CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号