2

嗨,我有如下的注册表结构

HKLM
    SOFTWARE
        MYAPP
            VER1
            VER2
            VER3

就像那个列表取决于我在 MYAPP 上安装了多少补丁。现在我想阅读 VER1、VER2 ...并且我想捕获最后一个 VERX。如何读取MYAPP下的子键并找出最后一个子键。

4

1 回答 1

7

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

来自NSIS 脚本参考

4.9.2.5 EnumRegKey

user_var(output) root_key subkey index

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

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 
于 2012-10-17T22:21:44.280 回答