24.01.2019 07:28
Occul
 
Если зайти в свойства любой папки и открыть вкладку «Настройка», то я могу изменить внешний вид папки путем смены значка, выбрав понравившуюся иконку в окошке обзора. Но это касается только папок, проделать то же самое с системными элементами интерфейса, к примеру, с ярлыками дисков в разделе «Этот компьютер» или DLL, EXE-файлами не получится, поскольку в их свойствах нет вкладки «Настройка». В этом случае нужно создать в одном из ключей реестра параметр DefaultIcon и установить в качестве его значения путь к ICO-файлу или DLL-библиотеке, указав через запятую порядковый номер находящейся в ней иконке, но как узнать тот самый порядковый номер иконки?

Как узнать номер иконки DLL или EXE-файла

Привет всем! Зайдя в свойства любой пользовательской папки и открыв вкладку «Настройка», вы можете изменить ее внешний вид путем смены значка, выбрав понравившуюся иконку в окошке обзора (значки для папок хранятся в файле shell32.dll).




Но это что касается папок, проделать то же самое с системными элементами интерфейса, к примеру, с ярлыками дисков в разделе «Этот компьютер» не получится, поскольку в их свойствах нет соответствующей опции.




В таких случаях действовать придется в обход, а именно создать в одном из ключей реестра параметр DefaultIcon и установить в качестве его значения путь к ICO-файлу или DLL-библиотеке (shell32.dll или imageres.dll), указав через запятую порядковый номер находящейся в ней иконке, пример - C:\Windows\System32\imageres.dll,10.




Но тут у пользователя может возникнуть вопрос. Как узнать тот самый порядковый номер иконки, не перебирать же их наугад? Конечно нет, потому что получить номер иконки можно с помощью того же окошка обзора, в котором вы выбираете значок для любой пользовательской папки. Рассмотрим это на примере файла библиотеки imageres.dll (содержащей значки для DLL или EXE-файлов), расположенной в системном каталоге System32. Откройте свойства любой папки папки, переключитесь на вкладку «Настройка» и нажмите «Сменить значок», затем «Обзор».




В открывшемся окне проводника найдите файл imageres.dll и откройте его.




Выделите первую же иконку и, нажимая клавишу-стрелку вниз, считайте нажатия пока не отыщите в списке нужный вам значок. Это и будет порядковый номер иконки, только считать нужно не с единицы, как мы привыкли, а с нуля.




Ну, а если самому считать лень, воспользуйтесь бесплатной портативной тулзой Librarie Icons, она посчитает и покажет номера упакованных в DLL иконок автоматически.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.