Вторник , 19 октября 2021

Изменяем значок Корзины (своя dll-библиотека)

изменяем, значок, корзины, dll-библиотека

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

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

Однако таких проблем не возникнет, если воспользоваться стандартными значками, которые находятся в специальном системном файле shell32.dll.

Библиотека shell32.dll

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

И давайте посмотрим, как это можно сделать.

На самом деле, нам не обязательно добавлять иконки в уже существующий системный файл, а можно создать свой файл-библиотеку. Более того, я настоятельно НЕ рекомендую менять стандартные системный файлы, так как это может повлечь за собой абсолютно непредсказуемые последствия.

Итак, создадим свой файл-библиотеку с расширением DLL. Стоит сказать, что файлы DLL (Dynamic Link Library) — это так называемые динамически подключаемые библиотеки. По сути своей они являются контейнером, в котором могут находиться различные компоненты, используемые исполняемыми файлами (с расширением EXE).

То есть обычно мы запускаем программу именно с помощью исполняемого файла и этот файл может подгружать различные графические элементы или другие компоненты из динамических библиотек. Именно таки образом и используются значки из файла shell32.dll в операционной системе Windows.

В создании собственного DLL-файл со значками нам поможет замечательная утилита Resource Hacker. Когда-то очень давно я использовал данную программу для перевода на русский язык других программ. Она позволяет получить доступ ко «внутренностям» файлов и мы получаем возможность изменять их.

Скачать утилиту можно с сайта разработчика — http://www.angusj.com/resourcehacker

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

Итак, скачиваем, устанавливаем и запускаем утилиту. Она на английском языке и здесь много различных опций, но это не должно вас пугать, так как нам понадобится только одна кнопка, которая позволит добавить в качестве ресурса изображение.

Resource_Hacker

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

Добавление изображения в DLL

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

Иконки в DLL

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

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

Сохранить как DLL

Зададим название файла, например, korzina.dll. Не забываем через точку указать расширение DLL.

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

Файл DLL

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

Аналогичные библиотеки можно использовать для изменения значков других объектов, например, можно задать индивидуальные значки различным папкам.

ИЗМЕНЯЕМ ЗНАЧОК КОРЗИНЫ. СОЗДАЕМ СВОЙ DLL СО ЗНАЧКАМИ

Смотрите также

Включать ли автоматическое обновление в пиратской Windows?

Меня постоянно просят помочь в решении проблем с нелицензионным или пиратским программным обеспечением и это …

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *