![]() |
Как изменить иконку по умолчанию, для всех(!) ярлыков с потерянным exe
Вложений: 1
Приветствую.
Всем доброго времени суток. Задался задачкой: - на рабочем столе w7 восстанавливаются ярлыки с иконками портированных программ - но в случае если exe программы отсутствует, w7 подставляет свою бланковую иконку из shell32.dll для "побитого" ярлыка Вопрос: Возможно ли через правку реестра, присвоить для всех потерявших exe ярлыков свою собственно иконку, вместо бланковой/по умолчанию? Подскажите пожалуйста ветку реестра / что необходимо прописать в ней. Привожу пример картинкой: 1. рабочий стол с ярлыками на портированные программы 2. белые иконки - те ярлыки, exe которых не существует по лику в ярлыке (пример желаемого результата, сделанный вручную) 3. слева ярлык Yandex - стандартное отображение иконки ярлыка с потерянной связи к exe ПС Да, можно пользоваться стандартными от виндовс Но они уж очень убогие, а все программы будут восстановлены не сразу. Один из вариантов решения изменить shell32.dll И при восстановление системы заменять shell32.dll на свой Но решение с правкой реестра более гибкое и правильное, тем более при разных версиях винды (мало ли чего) Спрашиваю совета, ищу решение правки через реестр. Всем откликнувшимся заранее ОГРОМНОЕ СПАСИБО! |
Для Windows 7 на ум приходит только утилита Microangelo On Display (в Windows 10 не работает). Она умеет так делать путем редактирования кэша иконок (не shell32, а IconCache.db, который у пользователя в AppData хранится и генерируется динамически). Вот тут я для примера создал пустой exe-файл и ярлык для него, затем в опциях Microangelo On Display выбрал машинку вместо стандартной иконки:
Скрытый текст
![]() Если же вручную прописать путь к конкретной иконке для .exe-файлов в соответствующей ветке реестра (HKEY_CLASSES_ROOT\exefile\DefaultIcon), то ВСЕ исполняемые файлы и ярлыки станут отображаться с такой иконкой. Даже те, которые до этого имели свою иконку. Так что через реестр не вариант, я так полагаю. |
Цитата:
|
Avatar-Lion
Благодарю вас за скорый ответ! Но при необходимости очистки кеша иконок рабочего стола, как понимаю всё слетит?... Плюс получается, в BAT/CMD файл настройку иконки для ярлыков-то не пропишешь (только Microangelo)? восстановил систему --> ручками в Microangelo иконки, для красивого рабочего стола ---> а после, уже ставь программы которые потерялись... (программ действительно много, потери возможны) Если же вручную прописать путь к конкретной иконке для .exe-файлов в соответствующей ветке реестра (HKEY_CLASSES_ROOT\exefile\DefaultIcon), то ВСЕ исполняемые файлы и ярлыки станут отображаться с такой иконкой. Даже те, которые до этого имели свою иконку. Так что через реестр не вариант, я так полагаю. - попробовал =))) - сменил значение %1 на %2 - да... рабочий стол приобрел незабываемый вид )) Горе-печать (( Алексектор Благодарю за помощь в теме! Но, вроде хоть статья по теме близкая но о другом: "Восстановление ассоциаций EXE файлов в Windows" HKEY_CURRENT_USER > Software > Microsoft > Windows > CurrentVersion > Explorer > FileExts > .exe - нет никаких вариантов/намеков на то, как туда прописать иконку, не нашел =( PS * и кстати "UserChoice" у меня вообще отсуствует... а в OpenWithList вообще почему-то прописан wmplayer.exe |
гугля пространства
подумал, а не прав ли я, говоря о .EXE? - может нужно смотреть в сторону .LNK? находил такие вот варианты... но походу, даже меняя путь до иконки через HEX, меняя в ROOT, то всёравно заменит иконки на всех ликах-ярлыках, даже к которым уже есть иконка... [HKEY_CLASSES_ROOT\.lnk\ShellNew] "IconPath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\ 74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\ 00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,\ 31,00,36,00,37,00,36,00,39,00,00,00 |
Цитата:
Цитата:
--- В целом же я в вашей ситуации вижу только один вариант как можно обойтись без дополнительного ПО и как можно добиться некоей... м-м... универсализации, скажем так. 1) Выдёргиваем иконки из всех exe'шников, которые вам нужны. Все эти фотошопы и т.д. Я в свое время сохранял иконки с помощью Resource Hacker, но можете любую другую использовать. 2) Сохраняем все иконки куда-нибудь в системную папку. В общем, чтобы они гарантированно попали в образ, который вы будете потом снимать с системного раздела. 3) Вручную в свойствах каждого ярлыка меняем значок на аналогичный из нашей коллекции иконок. 4) ... 5) Profit! В случае восстановления системы из образа значки у отсутствующих программ останутся, т.к. в плане иконок система для их ярлыков будет ссылаться не на exe'файлы, а на .ico-файлы, которые лежат где-нибудь на диске С и которые, соответственно, есть всегда. Но вообще я бы на вашем месте не делал так, ибо при таком раскладе получается, что вы банально не сможете отличить настоящий ярлык от поддельного. И придется на каждом кликать и смотреть: запустится программа или нет. Короче, сомнительное удовольствие. Для чего вы вообще так делаете, если не секрет? Просто систему что ли часто переустанавливаете? Тогда вам имеет смысл ознакомиться с этой статьей: "Как настроить Windows, чтобы переустанавливать ее как можно реже". |
Цитата:
И это не идёт? Тогда попробуйте программу Unassoc. |
Алексектор, Не тупите. Человек спрашивал про изменение иконок. А вы ему зачем-то подсовываете статьи про восстановление ассоциаций файлов.
|
|
Цитата:
|
Цитата:
И вообще, а кто запретит мне писать? Еще не никого не обматерил. |
Время: 19:44. |
Время: 19:44.
© OSzone.net 2001-