» EnumRegKey: перебор разделов реестра

K.A.V.
www.oszone.net
22.02.2010
Авторы: kotkovets, mshak
Последнее обновление: 18.12.2010
EnumRegKey [$var(output)] [root_key] [subkey] [index]
Устанавливает в переменную $var название ключа реестра с индексом index из root_key\Subkey.
Возвращает пустую строку $var , если нет больше ключей, возвращает пустое значение и устанавливает флаг ошибки, если возникает ошибка.
В этом примере организован цикл на безусловном переходе. Чтение начинается с индекса переменной $0=0.
В переменную $1 c каждым циклом записывается новое значение считанного ключа реестра.
С каждым циклом переменная $0 увеличивается на единицу (индекс). Цикл завершится, пока в переменную $1 не возвратится пустое значение.
OutFile "EnumRegKey.exe"
ShowInstDetails show

Section EnumRegKey
 StrCpy $0 0
loop:
 EnumRegKey $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" $0
 StrCmp $1 "" Done
 IntOp $0 $0 + 1
 DetailPrint "$0) $1"
 Goto loop
Done:
SectionEnd