Как поменять стандартную иконку любой папки Windows
Папки с измененными иконками
В Windows есть возможность поменять стандартную иконку папки на любую другую. Это бывает удобно, когда папок много и надо выделить некоторые для более быстрого визуального поиска, или если старые значки вам уже надоели. Еще некоторые приложения любят менять значки на папках, в которые они установлены. Информация о том, как поменять иконку, не является каким-то секретом, кое-кто даже налепил для этого целые многомегабайтные программы, причем некоторые из них даже платные. А вот вам и моя инструкция для новичков и продвинутых пользователей.
Начну с иллюстрированной инструкции для самых маленьких. Выберите в Проводнике Windows нужную папку, нажмите на ней правой кнопкой мыши, в меню выберите пункт "Свойства", а в окне свойств найдите вкладку "Настройка".
Выбираем иконку через свойства папки
Нажмите кнопку "Сменить значок...". По умолчанию откроется список иконок из системного файла shell32.dll. Можете поискать иконку там, но выбор там не самый большой, да и иконки некрасивые, многие не менялись еще со времен Windows 95. Поэтому лучше поищите в интернете бесплатные или варезные наборы красивых иконок и выберите что-нибудь из них. Кроме графических файлов иконок, вы можете выбрать любой исполняемый файл и затем выбрать любую иконку, которая хранится в нем.
Значок папки изменился
Сохраните изменения. Значок папки сразу же изменится на выбранный. Он будет отображаться в Проводнике в списке папок, в адресной строке при открытии папки и в строке статуса при выборе папки курсором.
Изменяем название папки
А на вкладке "Общие" в окне свойств можно поменять название папки. На диске папка никак не изменится и будет называться как раньше, а вот в Проводнике будет отображаться так, как вы ее назвали.
Описание папки изменилось
Как видите, ничего сложного. Дальше будет техническая информация, так что новичкам можно на этом остановиться.
Теперь немного о том, как система меняет иконки. При выборе значка иконки, в целевой папке создается (или обновляется) файл desktop.ini. Обычно он имеет атрибуты "скрытый" и "системный", поэтому для его отображения надо включить показ скрытых файлов. Если открыть файл на редактирование в каком-нибудь Блокноте, то внутри обнаружится примерно следующее:
[.ShellClassInfo]
IconResource=C:\Windows\system32\shell32.dll,115
Если кроме иконки было изменено и название папки, то в файл описания добавится еще одна строка:
[.ShellClassInfo]
IconResource=C:\Windows\system32\shell32.dll,115
LocalizedResourceName=Мультяшки для больших и маленьких
Активируем ум. Если для смены значка папки система создает этот файл, то что нам мешает самим создать такой же файл, но с нужными нам значениями? Правильно, ничего не мешает. Открываем Блокнот, пишем там следующее:
[.ShellClassInfo]
IconResource=icon.ico,0
LocalizedResourceName=Тут был Вася
и сохраняем в файл с именем desktop.ini. Переносим свежесозданный файл в нужную нам папку, туда же кладем файл icon.ico с нашей собственной иконкой. И тут нас ждет облом. Ни значок, ни название папки не изменились. Ладно, может быть дело в атрибутах файла (если помните, у оригинальных файлов desktop.ini они были "системный" и "скрытый")?
Устанавливаем атрибуты "Скрытый" и "Системный"
Не тут-то было. Вместо нашей иконки мы продолжаем наблюдать национальную индейскую избу "фигвам". В чем же дело? Оказывается, для того, чтобы система начала обрабатывать файлы-описатели desktop.ini в папках, сами папки должны иметь установленный атрибут "только для чтения", а атрибуты файла-описателя вообще не имеют значения. Устанавливаем атрибут "только для чтения" на папку.
Устанавливаем атрибут "Только для чтения"
Вот теперь полный порядок, значок поменялся на наш, описание тоже.
Значок и описание папки изменились
Напоследок еще несколько особенностей, которые надо учитывать при ручном формировании файлов-описателей. Если файл с иконкой находится в той же папке, что и desktop.ini, то абсолютный путь до него в параметре IconResource прописывать не обязательно, достаточно указать только имя файла. Иначе надо прописывать полный путь. Текст описания в параметре LocalizedResourceName должен быть записан в кодировке windows-1251.
Просмотров: 16826 | Комментариев: 3
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
Вячеслав
(12.07.2017 в 20:00):
Опять Вася! Что ж его бедного везде пихают, ведь есть ещё и Петя!)
Джайрикон
(07.07.2015 в 16:58):
Задумал создать библиотеку своих иконок в файле "джайрикон.icl"
(ICon Library — то есть по сути обычный DLL). В этот файл можно
инкапсулировать сразу несколько ICO-файлов, причём можно дать им
нормальные читаемые имена типа "png", "jpg", "wav", "maff", etc.
Однако у меня так и не получилось заставить dektop.ini работать
не с ординалами (порядковым номером иконки в ресурсах), а с этими
именами. Пробовал задавать IconIndex=wav, IconIndex="wav",
IconIndex='wav'. Выдумывал IconName=wav, IconName="wav",
IconName='wav'. Ничего не помогает. Работает только стандартное:
[.ShellClassInfo]
IconFile=джайрикон.icl
IconIndex=2
(ICon Library — то есть по сути обычный DLL). В этот файл можно
инкапсулировать сразу несколько ICO-файлов, причём можно дать им
нормальные читаемые имена типа "png", "jpg", "wav", "maff", etc.
Однако у меня так и не получилось заставить dektop.ini работать
не с ординалами (порядковым номером иконки в ресурсах), а с этими
именами. Пробовал задавать IconIndex=wav, IconIndex="wav",
IconIndex='wav'. Выдумывал IconName=wav, IconName="wav",
IconName='wav'. Ничего не помогает. Работает только стандартное:
[.ShellClassInfo]
IconFile=джайрикон.icl
IconIndex=2
***
(25.08.2014 в 14:32):
Спасибо, полезная информация ;)
Добавить комментарий
Заполните форму для добавления комментария