2012-10-17 116 views
2

您好我有一個像下面如何讀取子項在註冊表

HKLM 
    SOFTWARE 
     MYAPP 
      VER1 
      VER2 
      VER3 

註冊表的結構一樣,不勝枚舉取決於有多少補丁安裝上MYAPP的頂部。現在我想讀取VER1,VER2 ...並且我想要捕獲最後的VERX。如何讀取MYAPP下的子項並找出最後一個子項。

回答

6

答案 - 如何讀取註冊表項(不是值)。

NSIS Scripting Reference

4.9.2.5 EnumRegKey

user_var(output) root_key subkey index 

設置用戶變量$ X在 root_key \子項中的「index個註冊表項的名稱。 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