科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道如何用.NET操作Windows注册表

如何用.NET操作Windows注册表

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在.NET出现前,通过编程访问注册表要应用Windows API(应用程序接口)。.NET Framework通过Microsoft.Win32命名空间简化了这一过程。本文详细说明如何通过.NET操作注册表。

作者:Tony Patton 2007年7月31日

关键字: Office

  • 评论
  • 分享微博
  • 分享邮件

注册表是每个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
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章