注意
活动模板库(ATL)将继续受到支持。 但是,我们不再添加功能或更新文档。
可以在注册器脚本中定义一个或多个分析树,其中每个分析树都具有以下形式:
<根键>{<注册表表达式>}+
其中:
<root-key> ::=
HKEY_CLASSES_ROOT|HKEY_CURRENT_USER|
HKEY_LOCAL_MACHINE|HKEY_USERS|
HKEY_PERFORMANCE_DATA|HKEY_DYN_DATA|
HKEY_CURRENT_CONFIG|HKCR|HKCU|
HKLM|HKU|HKPD|HKDD|HKCC<registry-expression> ::=
<添加键> | <删除键><Add-Key> ::=
[c0 /> |NoRemove|val] <键名> [<键值>] [{<添加键>}]<Delete-Key> ::=
Delete<键名称><Key-Name> ::=
'<字母数字>+'<AlphaNumeric> ::=
任何非 null 字符。<键值> ::=
<键类型><键名称><Key-Type> ::=
s|d
注意
HKEY_CLASSES_ROOT 与 HKCR 等效;HKEY_CURRENT_USER 与 HKCU 等效;以此类推。
分析树可以将多个键和子项添加到 <root-key>。 注册器使每个子项句柄保持打开状态,直到分析程序已完成对其所有子项的分析。 与一次操作一个键相比,它会更高效。 下面是一个示例:
HKEY_CLASSES_ROOT
{
'MyVeryOwnKey'
{
'HasASubKey'
{
'PrettyCool'
}
}
}
在此处,注册器首先打开(创建)HKEY_CLASSES_ROOT\MyVeryOwnKey。 然后,它会看到 MyVeryOwnKey 包含一个子项。 注册器保留句柄并使用此父句柄打开(创建)MyVeryOwnKey,而不是关闭 HasASubKey 的键。 (当没有父句柄处于打开状态时,系统注册表速度可能会减慢。)因此,打开 HKEY_CLASSES_ROOT\MyVeryOwnKey,然后使用 HasASubKey 作为父句柄打开 MyVeryOwnKey,这样速度会比打开 MyVeryOwnKey、关闭 MyVeryOwnKey,然后打开 MyVeryOwnKey\HasASubKey 的操作更快。