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 编辑 ]
搜索更多相关主题的帖子:
mpx 注册表 教程 mpx 注册表 教程