发新话题
打印

[教程] mpx适用的注册表修改教程【1】

mpx适用的注册表修改教程【1】

修改注册表有很大的风险,建议不要轻易修改!


注册表数据结构
(一)
  使用注册表编辑器之前,首先得了解注册表的数据结构,例如注册表的显示方式、主键与子键、键值项数据的类型等等。

注册表显示方式
   在Windows Mobile/CE/PC系统中,注册表是采用“关键字”及其“键值”来描述登录项及其数据的。所有的关键字都是以“HKEY”作为前缀开头。实际上,“关键字”是一个句柄。这种约定使得系统及应用程序的开发人员,可以在使用注册表中的API函数时把它用于应用程序的开发中。为此,Windows提供了若干API函数,以便在开发???? for Windows 应用程序时添加、修改、查询和删除注册表的登录项。
????在注册表中,关键字可以分为两类:一类是由系统定义的,一般都称为“预定义关键字”;另一类是由应用程序定义的,由于安装的应用软件不同,其登录项也就不同。

? ????
  注册表通过主关键字(最上层的为“根键”,例如HKEY_CURRENT_USERS就是一个根键,标题栏上也有显示)和子键来管理各种信息,[图:主键],主键展开后就可以看到它里面的子键。注册表中的所有信息是以各种形式的“键值项数据”保存下来”。其中“REG_DWORD”是该键值的数据类型;“0”是代表该键值被赋予的数值。

??
 
  如果这个键包含子键,则主键的左边出现一个“+”号,用来表示在这个文件夹内还有好多内容。如果这个文件夹被用户打开了,那么“+”号就变为“-”号

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

二进制(BINARY)
    在注册表中,二进制是没有长度限制的,可以是任意个字节的长度。在注册表编辑器中,二进制数据以十六进制的方式显示出来
  点击键值名,出现的“编辑二进制数值”对话框,我们可以在二进制和十六进制之间进行切换。
DWORD值(DWORD)
    DWORD值是一个32位(4个字节,即双字)长度的数值。在注册表编辑器中,你将会发现系统以十六进制的方式显示DWORD值,
  在编辑DWORD数值时,可以选择用二进制、十进制或是十六进制的方式进行输入,
字符串值(SZ)
    在注册表中,字符串值一般用来表示文件的描述、硬件的标识等。通常它由字母和数字组成。下图文本输入栏中的内容即为一个键值,它是一种字符串值类型。通过键值名、键值就可以组成一种键值项数据。其实,使用注册表编辑器将这些键值项数据导出后,其形式与.ini文件中的设置完全一样。[其实在WM中也与Windows PC一样,在我们硬启动的时候,系统加载ROM中的nitdb.ini等文件为注册表初始化]
注册表工具也可以对不支持的数据类型进行编辑,包括那些显示为REG_UNKNOWN类型的数据。但是编辑仅能在二进制模式下进行,这就需要用户对数据对象的格式非常了解。对于那些需要手工修改注册表的用户来说,理解每一种数据类型以及每一种类型数据的存储格式是非常重要的。

类 型        类型索引        大 小        说 明
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        (未定义)        未知        因为数据类型索引无效而无法确定的对象类型


[ 本帖最后由 city6life 于 2008-5-24 23:35 编辑 ]

TOP

好深奥

TOP

汗  讲的太详细了

TOP

很详细!但还是不明

TOP

发新话题