luketowne

注册表数据类型(二)

注册表中的“键值数据项”的类型
  在注册表中,“键值项数据”可分为下面三种类型。

二进制(BINARY)
  在注册表中,二进制是没有长度限制的,可以是任意个字节的长度。在注册表编辑器中,二进制数据以十六进制的方式显示出来,如下图中的“CustomColors”的键值就是一个二进制数据,
如图:

 

  双击键值名,出现如下图所示的“编辑二进制数值”对话框,我们可以在二进制和十六进制之间进行切换。

DWORD值(DWORD)
  DWORD值是一个32位(4个字节,即双字)长度的数值。在注册表编辑器中,你将会发现系统以十六进制的方式显示DWORD值,如图:

  在编辑DWORD数值时,可以选择用二进制、十进制或是十六进制的方式进行输入,如图:

字符串值(SZ)
  在注册表中,字符串值一般用来表示文件的描述、硬件的标识等。通常它由字母和数字组成。下图文本输入栏中的内容即为一个键值,它是一种字符串值类型。通过键值名、键值就可以组成一种键值项数据,这就相当于Win.ini、System.ini文件中小节下的设置行。其实,使用注册表编辑器将这些键值项数据导出后,其形式与.ini文件中的设置完全一样。

注册表数据类型
  注册表的键中包含着各种不同格式的数据。数据类型可以这样来分类:

通用数据类型--RegEdit、RegEdt32及其它绝大多数注册表工具都支持,并能够对之进行编辑的数据类型。
Windows NT 专用数据类型--RegEdt32和另外几个注册表工具支持,并能够对其进行编辑的数据类型。
组件/应用程序专用的特殊数据类型--注册表工具支持这些数据类型,但是对于程序而言是有限度的。
用户则只能将其作为二进制数进行编辑。

  实际上,注册表工具也可以对不支持的数据类型进行编辑,包括那些显示为REG_UNKNOWN类型的数据。但是编辑仅能在二进制模式下进行,这就需要用户对数据对象的格式非常了解。对于那些需要手工修改注册 挠没Ю此担斫饷恳恢质堇嘈鸵约懊恳恢掷嘈褪莸拇娲⒏袷绞欠浅V匾摹?/p>

现有注册表数据类型

 

 

 

 

REG_BINARY

类型索引   3

大 小         0~多个字节

说 明         可以包含任何数据的二进制对象颜色描述


REG_COLOR_RGB

类型索引  

大 小         
4字节

说 明         颜色描述

REG_DWORD

类型索引   4

大 小         4字节

说 明         DWORD值

REG_DWORD_BIG_ENDIAN

类型索引    5

大 小          4字节

说 明         一个DWORD值的逆序存储形式

REG_DWORD_LITTLE_ENDIAN

类型索引   4

大 小         4字节

说 明          DWORD值

REG_EXPAND_SZ

类型索引    2

大 小         0~多个字节

说 明          包含环境变量占位符的字符串

REG_FILE_NAME

类型索引 *

大 小         0~多个字节

说 明         文件名

REG_FILE_TIME

类型索引*

大 小         未知

说 明         文件时间

REG_FULL_RESOURCE_DESCRIPTOR

类型索引   9

大 小         未知

说 明         硬件资源列表

REG_LINK

类型索引    6

大 小         0~多个字节

说 明          命名一个符号链接(symbolic link)的Unicode串

REG_MULTI_SZ

类型索引       7

大 小            0~多个字节

说 明             以null字符分隔的字符串集合,集合中的最后一个字符串以两个null字符结尾

REG_NONE

类型索引      0

大 小            未知

说 明            REG_NONE类型的对象无须分类,它与REG_UNKNOWN类型不同

REG_RESOURCE_LIST

类型索引      8

大 小            未知

说 明             设备使用的资源列表

REG_RESOURCE_REQUIREMENTS_LIST

类型索引      10

大 小             未知

说 明            驱动程序要求的资源列表

REG_SZ

类型索引      1

大 小            0~多个字节

说 明            以一个null字符线的字符串

REG_UNKNOWN

类型索引    (未定义)

大 小            未知

说 明            因为数据类型索引无效而无法确定的对象类型

posted on 2009-05-08 21:14 露露 阅读(339) 评论(0)  编辑 收藏 引用