如何读取注册表中的子项

时间:2012-10-17 22:01:53

标签: nsis

您好我有如下的注册表结构

HKLM
    SOFTWARE
        MYAPP
            VER1
            VER2
            VER3

就像那个列表取决于我在MYAPP上安装的补丁数量。现在我想读VER1,VER2 ......我想要捕获最后一个VERX。如何阅读MYAPP下的子项并查找最后一个子项。

1 个答案:

答案 0 :(得分:6)

答案 - 如何阅读注册表项(而不是值)。

来自NSIS Scripting Reference

4.9.2.5 EnumRegKey

user_var(output) root_key subkey index
  

使用'index'th注册表项的名称设置用户变量$ x   root_key \子项。 root_key的有效值列在   WriteRegStr。如果没有更多的键,则返回一个空字符串   返回一个空字符串,并在出现错误时设置错误标志。

StrCpy $0 0
loop:
  EnumRegKey $1 HKLM Software $0
  StrCmp $1 "" done
  IntOp $0 $0 + 1
  MessageBox MB_YESNO|MB_ICONQUESTION "$1$\n$\nMore?" IDYES loop
done:

在你的情况下:

EnumRegKey $1 HKLM "Software\MYAPP" $0