Как из картинки сделать значок dll
Как добавить к существующему проекту библиотеку dll
У меня создан проект из 20 форм, так вот в 20 форме мне необходимо импортировать из библиотеки.
Добавить dll в ресурсы, потом выгружать в папку с программой
Здравствуйте. Не хочу делать инсталятор программы, т.к. у программы есть всего 1 зависимый dll.
Не на С++, а на С++Builder. Это, во первых, две большие разницы, а, во вторых, они с Дельфи - близнецы братья и, окромя синтаксиса, никаких различий там не наблюдается.
Добавлено через 1 минуту
Вот только. Не примите за обиду, но Вам бы с элементарным (с INI-файлами) разобраться, а не в DLL лезть.
Вообще никаких проблем с добавлением ресурсов в DLLвот код проекта (очень сложный)
Это я делал библиотеку иконок для Рабочего стола. Почему не просто назначить иконку? Потому что в этом случае при очистке/наполнении Корзины не происходит динамическое обновление иконки Корзины. Да и с DLL как-то изящнее, что ли
а в программе вытянуть ресурс - как два пальца об асфальт
LoadLibrary()
LoadFromHInstanceName() Обшибся. метод LoadFromResourceName()
Есть у любого наследника TGraphic кстати, не знаю с какой версии, но Delphi научился самостоятельно добавлять ресурсы в проект
создаем проект библиотеки:
компилируем, получаем DLL с ресурсами.
Заметил интересную особенность. Если в качестве Resource Identifier вписать, к примеру 100 , то есть строку, состоящую только из цифр, то в выходном ресурсном файле она станет числовым идентификатором, доступ к которому осуществляется через LoadFromResourceID При нажатии на кнопку картинка из dll библиотеки выводится в Image на форме.Как сделать,чтобы в dll библиотеке было несколько картинок и при каждом нажатии выводились ??
Как сделать,чтобы в dll библиотеке было несколько картинок подставить нужный идентификатор картинки в
TResourceStream.Create(h, 'Image1', RT_RCDATA); Куда именно нужно подставить?
Я подставляю в разные места этого кода,не работает, выводит последнюю картинку и дальше не двигается.
Я добавила эту строку , как вы и сказали , заменив Image1 на Image2, как в dll у меня есть эти два изображения я ж привёл образец кода. только вместо loadfromstream у меня loadfromresourcename, но суть та же.
там и картинка программы есть, и картинка с именами ресурсов. сопоставить одно с другим - всё станет ясно Здравствуй Arcor,вопрос по твоему коду. При нажатии на кнопку картинка из dll библиотеки выводится в Image на форме.
Как сделать,чтобы в dll библиотеке было несколько картинок и при каждом нажатии выводились ??
и вытаскивай их
Посмотри пожалуйста, что нужно изменить? Почему-то не работает. Спасибо большущее тебе заранее.
missfortune, всё должно работать - в одну и ту же Image1 загружаются последовательно первая и вторая картинки из ресурса. Естественно, отображаться будет та, которая загружена последней.только i глобальная надо, в этом случае ты не увидишь первую картинку
увидишь сразу вот эту
если это клики по кнопке, тогда
Спасибо за твою помощь. Наверное как и говорил AzAtom не получится все картинки выводить в один Image1. Я сделала 2 Image и при нажатии на кнопку выводится мои 2 изображения в нихРешение
missfortune, почему не получится? Глобальная переменная i, после увеличения на единицу проверка:Как сохранить форму в dll и потом вызвать её из проэкта к которому подключена эта dll?
Как сохранить форму в dll и потом вызвать её из проэкта к которому подключена эта dll?
Как вытянуть имя картинки из picturebox?
У меня есть flowlayoutpanel, которая заполняется PictureBox с картинками, можно ли как-то достать.
Если вам уже приходилось заменять значки папок, то вы, стало быть, в курсе, что при этом система предлагает поискать альтернативный значок в файле SHELL32.dll, расположенный в папке system32. Спрашивается, почему Windows хранит иконки именно в DLL-файлах, а не в отдельных папках и что вообще представляют собой файлы DLL?
Файлы DLL или Dynamic Link Library они же динамически подключаемые библиотеки представляют собой контейнеры, нечто вроде архивов, в которых могут храниться различные используемые исполняемыми файлами EXE компоненты, например, фрагменты кода или графические элементы, в нашем случае иконки. Использование DLL в Windows основано на принципе модульности, причем каждая отдельная совместимая библиотека может быть подключена к тому или иному приложению, тем самым расширяя его функциональные возможности.
Вам может быть интересно: Не работает кнопка пуск и панель задачПри этом будущая динамическая библиотека отобразится в левой колонке рабочего окна утилиты. После этого нажмите на панели инструментов кнопку Import и в открывшемся окошке укажите путь к файлу иконки, нажав кнопку «Browse». Больше ничего в настройках менять не нужно.
Нажмите «OK» и в левой колонке утилиты у вас появятся две папки Icon Image и Icon Directory, в них и будут храниться ваши иконки.
Если хотите, можете попробовать поиграть с настройками встроенного редактора иконок, изменив метод интерполяции или добавив задний фон.
Точно таким же образом одна за другой в библиотеку добавляются прочие иконки. Чтобы сохранить результаты работы, жмем кнопку Save – библиотека будет сохранена в каталог, из которого вы брали иконки.
Готово, теперь можете использовать свою библиотеку по назначению, подставляя к ней путь в окошке смены значка.
Как сделать значок (.dll)?Нарисовал картинку, а теперь хочу что-бы она стала значком .dll
Сбасибо.
DOS. Синей пеленой экран заполнил чистый DOS
Мышь. Стала вдруг квадратной, потеряла форму мышь.
Я разбил окно, девяностопятое мастдайное окно,
И поставил DOS, и тогда увидел: Это счастье, — вот оно.
никак. Где ты видел длл с иконкой?
/
/
/
Тьфу! Исправляюсь. С нестандартным значком где ты видел длл?
а ты Windows видел?
во первых картинка должна быть формата ICO
для добавления иконок в dll нужен редактор ресурсов
Каждый чилавек пасвоему праф. а памоему НЕТ!
Блин, не совсем про ресурсы, я думаю, идёт речь. Как я понял идёт речь про главную иконку. Т.е. у того же ворда есть иконка в виде W, когда смотришь на екзешник в проводнике - видно этот значок. Главная иконка бывает у приложений, но никак не у длл. В принципе, в ресурсах длл может быть иконка с ID "MAINICON", но проводник, или тот же тоталкомандер не поймёт, что эту иконку следует отображать как значок приложения. Потому прилепить значок к длл не получится. Вот.
Может я просто не так выразился.
ЗЫ: Виндовс видел, зайди в систем32 и посмотри: у ВСЕХ длл стандартные значки.
ЗЗЫ: Ещё тут минус влепил!
Не подскажешь ссылку, где можно програмку скачать, чтобы из картинки можно было сделать значок.
P. S. Есть екзешник. В свойствах, которого я нажал кнопку "Сменить значок", а потом "Обзор". Не видит .ico . Только .dll.
PP. S. Когда я нарисовал картинку (20*20) (видел такие значки), а потом с помощью QB перевёл в .ico, то машина пишет под названием блёклыми буквами не Значок, а Файл "ico", то есть не поймёт, что это за файл.
DOS. Синей пеленой экран заполнил чистый DOSМышь. Стала вдруг квадратной, потеряла форму мышь.
Я разбил окно, девяностопятое мастдайное окно,
И поставил DOS, и тогда увидел: Это счастье, — вот оно.
Воот. Сформулирован вопрос. Будет ответ.
Для замены ресурсов есть Restorator и ResHacker. Можно заменить ресурс сразу у приложения. Так проще будет.
ПС: А про экзешник ли вообще речь идёт. По тому, что сказал iff: "нажал кнопку "Сменить значок"", речь вообще идёт об ярлыке.
Добавлено через 5 минут и 54 секунды
Как работает Restorator или ResHacker?
Мышь. Стала вдруг квадратной, потеряла форму мышь.
Я разбил окно, девяностопятое мастдайное окно,
И поставил DOS, и тогда увидел: Это счастье, — вот оно.
В разделе не действуют многие правила:
- Можно оффтопить(умеренно)
- Можно общаться на темы, не только связанные с программированием.
- Размещать рекламу
- Обсуждать политику
- Оскорблять друг-друга и переходить на личности
- Наезжать, провоцировать других участников форума
- Материться
- Троллить
Глас Винграда:
Глас Философии:
[ Время генерации скрипта: 0.1179 ] [ Использовано запросов: 20 ] [ GZIP включён ]
В предыдущей заметке я продемонстрировал, как можно изменить значки Корзины на любой произвольный. Правда, я не учел один важный момент, на который обратили мое внимание мои подписчики. Если в качестве значка Корзины выбрать какой-то файл изображения (например, ICO), то значок будет меняться не автоматически при попадании в Корзину файлов, а только при принудительном обновлении экрана, то есть при нажатии клавиши F5. Кроме этого, если удалить файл с изображением, то и значок Корзины исчезнет (это может произойти сразу или после перезагрузки компьютера).
Однако таких проблем не возникнет, если воспользоваться стандартными значками, которые находятся в специальном системном файле shell32.dll.
Отсюда можно вытекает, что если добавить свои иконки в такой системный файл, то и выше перечисленные проблемы будут решены.
И давайте посмотрим, как это можно сделать.
На самом деле, нам не обязательно добавлять иконки в уже существующий системный файл, а можно создать свой файл-библиотеку. Более того, я настоятельно НЕ рекомендую менять стандартные системный файлы, так как это может повлечь за собой абсолютно непредсказуемые последствия.
Итак, создадим свой файл-библиотеку с расширением DLL. Стоит сказать, что файлы DLL (Dynamic Link Library) — это так называемые динамически подключаемые библиотеки. По сути своей они являются контейнером, в котором могут находиться различные компоненты, используемые исполняемыми файлами (с расширением EXE).
То есть обычно мы запускаем программу именно с помощью исполняемого файла и этот файл может подгружать различные графические элементы или другие компоненты из динамических библиотек. Именно таки образом и используются значки из файла shell32.dll в операционной системе Windows.
В создании собственного DLL-файл со значками нам поможет замечательная утилита Resource Hacker. Когда-то очень давно я использовал данную программу для перевода на русский язык других программ. Она позволяет получить доступ ко «внутренностям» файлов и мы получаем возможность изменять их.
Resource Hacker является довольно мощной утилитой, имеющей множество возможностей. Однако мы будем ее использовать только для создания своей собственной динамической библиотеки с изображениями.
Итак, скачиваем, устанавливаем и запускаем утилиту. Она на английском языке и здесь много различных опций, но это не должно вас пугать, так как нам понадобится только одна кнопка, которая позволит добавить в качестве ресурса изображение.
Необходимо заранее подготовить изображения и нажимаем на кнопку Select File, что означает «Выбрать файл».
Каждый ресурс в библиотеку добавляется отдельно, поэтому здесь мы можем выбрать только одно изображение. Далее нужно задать ему имя. По умолчанию предлагается название файла изображения.
Можно его изменить, например, на 1. Аналогично добавляем и другие значки.
Далее щелкаем по кнопке, позволяющей сохранить проект как динамическую библиотеку.
Зададим название файла, например, korzina.dll. Не забываем через точку указать расширение DLL.
В нашем случае можно сохранить библиотеку, например, в Документы. Файл библиотеки должен остаться на компьютере, так как после замены значков в операционной системе она будет к нему постоянно обращаться. После всех манипуляций этот файл можно будет сделать, например, скрытым и тогда он не будет попадаться на глаза.
Ну и все готово. Осталось только применить изображения из файла к Корзине, о чем подробно рассказывалось в предыдущей заметке.
Аналогичные библиотеки можно использовать для изменения значков других объектов, например, можно задать индивидуальные значки различным папкам.
Читайте также: