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小时内删除。
发表评论