windows  .reg 文件格式详解
*.reg 文件格式实质是一个 ini 文件。就按照 ini 来读取就可以了。
这里不再讲述 ini 的格式了。
reg头:reg文件第一行必须是 reg 头。其实就是一行版本的描述文字。
Windows 95/98/ME/NT 4.0是“REGEDIT4”。
Windows 2000/XP/Vista是“Windows Registry Editor Version 5.00"。
换行符:
\r\n
\n(空行)
[键值路径](例如HKEY_CLASSES_ROOT\a\b\c,整个路径上得键如果没有都会帮你创建)
@=“”(@代表默认值右边用双引号代表reg_sz类型,如果右边值有“\”,必须用"\\"转译)
1、删除项值
[HKEY_CLASSES_ROOT\a\b\c]
“a”=-
2、删除键值
[-HKEY_CLASSES_ROOT\a\b\c]
注册表里面的常用的键值:
   
类型
注册表表示
在 ini 中的表示方法
字符串
REG_SZ
"stringname"="abcdefg…"
若包含 \ 会存成 \\
包含 ” 会存成 \”
二进制数组
REG_BINARY
"bin1"=hex:11,22,33,44,55,66,\
66,55,44,33,22,11
可出现 \ 作为连行符。
最大2k。
32位数值
REG_DWORD
“v1”=dword:1a2b3c4d
代表实际数值为:0x1a2b3c4d
“v1”=hex(4):1a,2b,3c,4d
则代表实际数值为:0x4d3c2b1a
注意字节序
64位数值
REG_QWORD ??
“v1”=hex(b):01,02,03,04,05,06,07,08
多行文本
REG_MULTI_SZ
“text1”=hex(7):31,00,31,00,00,00,
32,00,32,00,00,00,
33,00,33,00,00,00   
代表共3行, unicode编码:
11
22
33
扩展文本
REG_EXPAND_SZ
也是unicode编码:
“text2”=hex(2):61,00,73,00,64,00,66,00,00,00
跟字符串有什么区别?
其实任何一个数值都可以由二进制数值来表示:
类型
注册表数据类型
在 ini 中的表示方法
0 未定义的类型
0 reg_none
hex(0):
1 单行文本
1 reg_sz
hex(1): 或加双引号对“…”
2 扩展字符串
2 reg_expand_sz
hex(2):
3 二进制
3 reg_binary
hex(3): 或 hex:
4 32位数值,小端
4reg_dword, reg_dword_little_endian
hex(4): 或 dword:
5 32位数值,大端
5 reg_dword_big_endian
hex(5):
6 链接
6 reg_link
hex(6):
7 多行文本
7 reg_multi_sz
hex(7):
8 注册表资源列表
8 reg_resource_list
hex(8):
9 完整资源描述
9 reg_full_resource_descriptor
hex(9):
a 资源需求描述
a reg_resource_requirements_list
hex(a):
b 64位数值
b reg_qword
hex(b):
c,d,e,f  此4种暂未定义
unicode文件格式

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。