Щелкните правой кнопкой мыши по папке и выберите свойства. Выберите вкладку «Настроить». Внизу выберите «Изменить значок» и т. д.
Работает очень хорошо. У меня вопрос: где в реестре хранится эта информация?
решение1
Информация о значках для специальных объектов (например,КорзинаилиМой компьютер) иклассыобъекты (например, типы файлов) хранятся в реестре. Информация о значках дляотдельные объектыобычно хранится вместе с объектом. В частности, когда вы назначаете пользовательский значок папке через вкладку «Настроить» окна «Свойства», он сохраняется в DESKTOP.INI
файле в папке. Он имеетЧАСскрытый иСystem атрибуты установлены, так что вы не увидите его, если не пойдете на охоту. В частности, Windows будет писать строки вроде этого:
[.ShellClassInfo]
IconResource=C:\Windows\system32\SHELL32.dll,60
в DESKTOP.INI
файл.
решение2
Чтобы найти системные значки
Эти значки не хранятся в реестре, они обычно упакованы в файлы .dll. Обратите внимание, что .exe, .ocx, .icl, .ico также являются допустимыми файлами значков. Два самых важных файла:
C:\Windows\system32\imageres.dll
C:\Windows\system32\shell32.dll
Еще больше системных иконок спрятано в:
C:\Windows\system32\compstui.dll
C:\Windows\system32\DDORes.dll
C:\Windows\system32\ieframe.dll
C:\Windows\system32\mmcndmgr.dll
C:\Windows\system32\moricons.dll
C:\Windows\system32\netshell.dll
C:\Windows\system32\pnidui.dll
C:\Windows\system32\wmploc.dll
Не все из них доступны в Windows XP, только в Windows 7 и выше.
Вы можете извлечь их в обычные файлы .ico с помощью таких инструментов, как NirsoftРесурсыИзвлечь
Для назначения системных значков
Один .dll может содержать несколько иконок, и каждая иконка имеет свой уникальный индекс в dll. Информация о том, какой .dll и какой индекс следует использовать, зависит от типа папки
Специальные папки, такие какКорзинаилиМой компьютерявляютсясохранено в реестре под
HKEY_CLASSES_ROOT\CLSID\{xxxx}\DefaultIcon (Default) %SystemRoot%\System32\imageres.dll,3
{xxxx}
необходимо заменить на правильный идентификатор класса Windows.(нажмите для полного списка)Означает
,3
, что рассматриваемая папка должна отображать 3-й значок изimageres.dllОбычные папки можно настраиватьсоздаврабочий стол.iniфайл в этой папке. Типичный файл будет выглядеть так:
[.ShellClassInfo] IconFile=%SystemRoot%\system32\imageres.dll IconIndex=3