2012-10-17 3 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 

Установить пользовательскую переменную $ х с именем «index'th ключа реестра в 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 
Смежные вопросы