Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для AlekseyPopovv

Старожил


Сообщения: 169
Благодарности: 6

Профиль | Отправить PM | Цитировать


Как победить подобную конструкцию?
Код: Выделить весь код
!macro Test
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\1" "Name"
StrCmp $0 "My" YESREG 0
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\2" "Name"
StrCmp $0 "My" YESREG 0
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\3" "Name"
StrCmp $0 "My" YESREG 0
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\4" "Name"
StrCmp $0 "My" YESREG 0
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\5" "Name"
StrCmp $0 "My" YESREG 0
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\6" "Name"
StrCmp $0 "My" YESREG 0
DeleteRegKey HKLM "SOFTWARE\Classes\Prog"
YESREG:
DeleteRegKey /ifempty HKLM "SOFTWARE\Classes\Prog"
!macroend
Error: label "YESREG:" already declared in section

Такая конструкция работает, но это ужас:
Код: Выделить весь код
!macro Test
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\1" "Name"
StrCmp $0 "My" +12 0
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\2" "Name"
StrCmp $0 "My" +10 0
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\3" "Name"
StrCmp $0 "My" +8 0
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\4" "Name"
StrCmp $0 "My" +6 0
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\5" "Name"
StrCmp $0 "My" +4 0
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\6" "Name"
StrCmp $0 "My" +2 0
DeleteRegKey HKLM "SOFTWARE\Classes\Prog"
DeleteRegKey /ifempty HKLM "SOFTWARE\Classes\Prog"
!macroend

Отправлено: 18:50, 26-10-2023 | #2816