Где находятся значки папок, созданные с учетом свойств папок, хранящихся в реестре?

Где находятся значки папок, созданные с учетом свойств папок, хранящихся в реестре?

Щелкните правой кнопкой мыши по папке и выберите свойства. Выберите вкладку «Настроить». Внизу выберите «Изменить значок» и т. д.

Работает очень хорошо. У меня вопрос: где в реестре хранится эта информация?

решение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 и какой индекс следует использовать, зависит от типа папки

  1. Специальные папки, такие какКорзинаилиМой компьютерявляютсясохранено в реестре под

    HKEY_CLASSES_ROOT\CLSID\{xxxx}\DefaultIcon
    (Default)
    %SystemRoot%\System32\imageres.dll,3
    

    {xxxx}необходимо заменить на правильный идентификатор класса Windows.(нажмите для полного списка)

    Означает ,3, что рассматриваемая папка должна отображать 3-й значок изimageres.dll

  2. Обычные папки можно настраиватьсоздаврабочий стол.iniфайл в этой папке. Типичный файл будет выглядеть так:

    [.ShellClassInfo] 
    IconFile=%SystemRoot%\system32\imageres.dll
    IconIndex=3
    

Связанный контент