Изменяем значок Корзины (своя dll-библиотека)
В предыдущей заметке я продемонстрировал, как можно изменить значки Корзины на любой произвольный. Правда, я не учел один важный момент, на который обратили мое внимание мои подписчики. Если в качестве значка Корзины выбрать какой-то файл изображения (например, ICO), то значок будет меняться не автоматически при попадании в Корзину файлов, а только при принудительном обновлении экрана, то есть при нажатии клавиши F5. Кроме этого, если удалить файл с изображением, то и значок Корзины исчезнет (это может произойти сразу или после перезагрузки компьютера).
Однако таких проблем не возникнет, если воспользоваться стандартными значками, которые находятся в специальном системном файле shell32.dll.

Отсюда можно вытекает, что если добавить свои иконки в такой системный файл, то и выше перечисленные проблемы будут решены.
И давайте посмотрим, как это можно сделать.
На самом деле, нам не обязательно добавлять иконки в уже существующий системный файл, а можно создать свой файл-библиотеку. Более того, я настоятельно НЕ рекомендую менять стандартные системный файлы, так как это может повлечь за собой абсолютно непредсказуемые последствия.
Итак, создадим свой файл-библиотеку с расширением DLL. Стоит сказать, что файлы DLL (Dynamic Link Library) — это так называемые динамически подключаемые библиотеки. По сути своей они являются контейнером, в котором могут находиться различные компоненты, используемые исполняемыми файлами (с расширением EXE).
То есть обычно мы запускаем программу именно с помощью исполняемого файла и этот файл может подгружать различные графические элементы или другие компоненты из динамических библиотек. Именно таки образом и используются значки из файла shell32.dll в операционной системе Windows.
В создании собственного DLL-файл со значками нам поможет замечательная утилита Resource Hacker. Когда-то очень давно я использовал данную программу для перевода на русский язык других программ. Она позволяет получить доступ ко «внутренностям» файлов и мы получаем возможность изменять их.
Resource Hacker является довольно мощной утилитой, имеющей множество возможностей. Однако мы будем ее использовать только для создания своей собственной динамической библиотеки с изображениями.
Итак, скачиваем, устанавливаем и запускаем утилиту. Она на английском языке и здесь много различных опций, но это не должно вас пугать, так как нам понадобится только одна кнопка, которая позволит добавить в качестве ресурса изображение.

Необходимо заранее подготовить изображения и нажимаем на кнопку Select File, что означает «Выбрать файл».

Каждый ресурс в библиотеку добавляется отдельно, поэтому здесь мы можем выбрать только одно изображение. Далее нужно задать ему имя. По умолчанию предлагается название файла изображения.

Можно его изменить, например, на 1. Аналогично добавляем и другие значки.
Далее щелкаем по кнопке, позволяющей сохранить проект как динамическую библиотеку.

Зададим название файла, например, korzina.dll. Не забываем через точку указать расширение DLL.
В нашем случае можно сохранить библиотеку, например, в Документы. Файл библиотеки должен остаться на компьютере, так как после замены значков в операционной системе она будет к нему постоянно обращаться. После всех манипуляций этот файл можно будет сделать, например, скрытым и тогда он не будет попадаться на глаза.

Ну и все готово. Осталось только применить изображения из файла к Корзине, о чем подробно рассказывалось в предыдущей заметке.
Аналогичные библиотеки можно использовать для изменения значков других объектов, например, можно задать индивидуальные значки различным папкам.
Собственная DLL-библиотека с иконками в Windows 10

Некоторым пользователям ПК, уже самостоятельно приходилось производить замену значков папок в Win 10, а следовательно, вы уже видели, как операционная система предлагает использовать альтернативный вариант значка, который располагается в файле SHELL32.dll, который в свою очередь, находится в папке system32.
Для того, чтоб самостоятельно упростить вышеописанную вкратце процедуру, вам необходима собственная DLL-библиотека с иконками в Windows 10, которая станет для вас в некотором роде «контейнером» или же «библиотекой». Особенность данного хранилища в том, что научившись создавать его единожды, он всегда у вас будет под рукой и при необходимости вы сможете использовать его для иных целей, чем хранение иконок. Так же у вас будет возможность быстро создать новое хранилище, которое вам будет так же необходимо для иных целей. Кроме того, данный способ идеально подходит для тех из вас, кто не желает использовать пакет разработчика Microsoft Visual Studio и уж тем более, не имеет не каких знаний языков программирования C++ или VB.NET.
Для того, чтоб у вас все правильно получилось, вам необходимо скачать утилиту Anolis Resourcer и тот набор иконок в формате «ICO» с разрешением не более 256×256 пикселей, который вы собираетесь использовать.
Сразу дадим вам совет, что используемые вами иконки, лучше всего переименовать таким образом, чтоб было проще их использовать, так как в противном случае, велик шанс запутаться.
Производите запуск Anolis Resourcer и проделайте следующий лог действий: нажмите на «File» → «New» → сохраните в данный момент пустой файл DLL в удобном для вас месте. Обратите внимание, что сохраняемый DLL файл, должен непременно иметь имя на латинице «ico.dll».


Теперь, будущая динамическая библиотека, будет отображаться в левой части рабочего окна утилиты. Нажмите на кнопку «Import» для того, чтоб у вас открылось окно в котором необходимо указать путь до ваших иконок при помощи кнопки «Browse»:



После того, как вы нажмете на «Ок», в левой части окна утилиты (выглядит как колонка), вы увидите две вновь созданных папки с именами «Icon Image» и «Icon Directory» — в данных папках будут храниться иконки.

При желание, можете воспользоваться возможность настраивать иконки при помощи различных опций, среди которых имеется даже задний фон.

Остается поочередно добавить все иконки через утилиту и в итоге, нажать на «Save», что позволит сохранить библиотеку в каталог, из которого вы брали иконки.

На этом все! Ваша собственная DLL-библиотека с иконками в Windows 10 готова к использованию и вы можете ею полноценно пользоваться столько времени, сколько вам угодно. Кроме того, с этой библиотекой, вы можете ставить разного рода эксперименты, что так же удобно и по своему практично, так что, этот вариант настройки своей ОС вам уж точно должен понравиться.
Как создать собственную DLL-библиотеку с иконками
Если вам уже приходилось заменять значки папок, то вы, стало быть, в курсе, что при этом система предлагает поискать альтернативный значок в файле SHELL32.dll, расположенный в папке system32. Спрашивается, почему Windows хранит иконки именно в DLL-файлах, а не в отдельных папках и что вообще представляют собой файлы DLL?
Файлы DLL или Dynamic Link Library они же динамически подключаемые библиотеки представляют собой контейнеры, нечто вроде архивов, в которых могут храниться различные используемые исполняемыми файлами EXE компоненты, например, фрагменты кода или графические элементы, в нашем случае иконки. Использование DLL в Windows основано на принципе модульности, причем каждая отдельная совместимая библиотека может быть подключена к тому или иному приложению, тем самым расширяя его функциональные возможности.
Сегодня мы научимся создавать такие библиотеки самостоятельно. Так как их содержимое будет ограничиваться одними лишь иконками, нам не потребуется ни пакет разработчика Microsoft Visual Studio, ни знания языков программирования C++ или VB.NET. А понадобится нам лишь маленькая утилита Anolis Resourcer и набор иконок в формате ICO размером не более 256×256 пикселей. Иконки необходимо переименовать в порядке следования, чтобы с ними было удобнее работать.
Скачайте утилиту Anolis Resourcer с сайта разработчика и запустите. В главном меню выберите File → New и сохраните пока еще пустой файл DLL в удобном вам расположении, дав ему имя на латинице, допустим, ico.dll.


При этом будущая динамическая библиотека отобразится в левой колонке рабочего окна утилиты. После этого нажмите на панели инструментов кнопку Import и в открывшемся окошке укажите путь к файлу иконки, нажав кнопку «Browse». Больше ничего в настройках менять не нужно.



Нажмите «OK» и в левой колонке утилиты у вас появятся две папки Icon Image и Icon Directory, в них и будут храниться ваши иконки.

Если хотите, можете попробовать поиграть с настройками встроенного редактора иконок, изменив метод интерполяции или добавив задний фон.

Точно таким же образом одна за другой в библиотеку добавляются прочие иконки. Чтобы сохранить результаты работы, жмем кнопку Save – библиотека будет сохранена в каталог, из которого вы брали иконки.

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