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

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

Аватара для kotkovets

Ветеран


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

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


diakov, Вы даже не пытаетесь понять, что я писал, вам не нужно писать
каждый раз макрос обновления иконок, достаточно одного раза, после регистрации
Код: Выделить весь код
Section "ассоциации для аудио файлов"
${If} $Check == 1
  SetShellVarContext all
!insertmacro RegisterExtension mp3
!insertmacro RegisterExtension acc
;и так далее
${RefreshShellIcons}
${EndIf}
Код: Выделить весь код
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\AIMP2.exe,1"
Ну никогда не будет отображаться иконка, нет такой иконки в файле AIMP2.exe
Цитата kotkovets:
задается путь к ресурсам иконок, а вообще иконки берутся из aimp2.dll »
Файл с иконками - в aimp2.dll , пишите путь к этому файлу - $INSTDIR\Icons\aimp2.dll,1
Что бы изменять иконки для каждого из типов, следует доработать макрос регистрации:
А именно ввести аргумент индекса иконки:
Код: Выделить весь код
!macro RegisterExtension extenstion index
WriteRegStr HKLM "Software\Classes\.${extenstion}" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aimp.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aimp.File\DefaultIcon" "" "$INSTDIR\Icons\aimp2.dll,${index}"
WriteRegStr HKLM "Software\Classes\Aimp.File\shell" "" "Play"
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\Play" "" "&Play in Aimp"
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\Play\command" "" "$\"$INSTDIR\AIMP2.exe$\" $\"%1$\""
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\open\command" "" "$\"$INSTDIR\AIMP2.exe$\" $\"%1$\""
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\ListBookmark" "" "Add to Aipm's &Bookmark list"
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\ListBookmark\command" "" "$\"$INSTDIR\AIMP2.exe$\"/BOOKMARK $\"%1$\""
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\Enqueue" "" "&Enqueue in Aipm"
WriteRegStr HKLM "Software\Classes\Aimp.File\shell\Enqueue\command" "" "$\"$INSTDIR\AIMP2.exe$\"/ADD $\"%1$\""
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.${extenstion}\UserChoice" "Progid" "Aimp.File"
!macroend
запуск макроса:
Код: Выделить весь код
!insertmacro RegisterExtension mp3 1
Для mp3 индекс иконки 1

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:56, 24-12-2011 | #2133