Как создать exe с полноценной иконкой?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Как создать exe с полноценной иконкой?

Сообщение djalex777 » 06.08.2008 (Ср) 20:26

Создан проект с одной формой. При создании exe файла данного проекта, созданный экзешник получается с той же иконкой, что и у формы. А как мне назначить другую иконку? Я так понимаю, для этого просто загружаю другую иконку в форму и все. Иконка формы становится иконкой для проекта (для exe файла). Но! Загружаемые иконки в форму имеют ограничение по размеру и кол-ву цветов. А как загрузить "нормальную" иконку? Например с альфа-прозрачностью, 32 битную? Именно, чтобы эта иконка была у создающегося exe файла. Как назначить "продвинутую" иконку форме я нашел на форуме, а вот как быть с иконкой создаваемого exe файла?

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Сообщение Proxy » 06.08.2008 (Ср) 20:55

Проще всего сделать разные иконки у проекта и единственной формы в проекте - при загрузке формы поменять её иконку.
Альфа канал? А зачем? В Win2K и в ХР я не видел, что бы кто-то использовал альфаканал в иконках (а возможно и не поддерживается), а вот просто с прозрачными областями иконку сделать легко. "Альфа" по биту на пиксел) Там либо вообще прозрачный пиксел, либо вообще не прозрачный.
Хз, у меня и так вполне "нормальные" иконки почему-то получаются, чего тебя не устраивает, хз? Только что размер маленький, но что-то на форуме было про это уже.

А если насчёт в откомпилированном проекте заменить иконку - пошарься в нём вручную. Начальный адрес иконки и длину как-то можно было получить, а дальше HEX-editor`ом любым запилить туда другую того же размера. Ну или просто найти иконку там вручную (не зашифрована, в чистом виде там лежит. Точней помойму даже 2 типа иконок для ЕХЕ 2х размеров) и запилить заместо неё другую (с тем же размером). Но это всё ппц как криво, поищи, может готовая утилита есть для этого, хз.
Follow the white rabbit.

Бяка
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 21.09.2005 (Ср) 21:28

Сообщение Бяка » 06.08.2008 (Ср) 23:37

есть такие утилитки как Resource Tuner и Microangelo и много много других утилиток, которые в два целчка мышки меняють любые иконки в ехешниках

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 07.08.2008 (Чт) 0:02

А если насчёт в откомпилированном проекте заменить иконку - пошарься в нём вручную. Начальный адрес иконки и длину как-то можно было получить, а дальше HEX-editor`ом любым запилить туда другую того же размера. Ну или просто найти иконку там вручную (не зашифрована, в чистом виде там лежит. Точней помойму даже 2 типа иконок для ЕХЕ 2х размеров) и запилить заместо неё другую (с тем же размером).

Бредогенератор свой запили уже.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Александр Дмитриев
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 296
Зарегистрирован: 05.01.2005 (Ср) 3:39
Откуда: Санкт-Петербург    Куда: /dev/null

Сообщение Александр Дмитриев » 07.08.2008 (Чт) 1:17

Самый простой способ - перезалить иконку редактором ресурсов.
Proxy писал(а):В Win2K и в ХР я не видел, что бы кто-то использовал альфаканал в иконках
Например, у программы Adobe Flash иконка исполняемого файла с альфа-каналом.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Сообщение Proxy » 07.08.2008 (Чт) 4:36

Хакер писал(а):
А если насчёт в откомпилированном проекте заменить иконку - пошарься в нём вручную. Начальный адрес иконки и длину как-то можно было получить, а дальше HEX-editor`ом любым запилить туда другую того же размера. Ну или просто найти иконку там вручную (не зашифрована, в чистом виде там лежит. Точней помойму даже 2 типа иконок для ЕХЕ 2х размеров) и запилить заместо неё другую (с тем же размером).

Бредогенератор свой запили уже.

Чем не устраивает?)) Hex-редактор выбран только потому, что это удобно и блокнот не позволит найти нужный участок, в отличие от него. А если размер иконки будет байт в байт с предыдущей, то вполне корректно заменится. Вот только структуру ЕХЕ найти бы где. Я хз. Тама область метаданных. Нет?
Follow the white rabbit.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 07.08.2008 (Чт) 6:36

Proxy
Ты сам-то пробовал найти иконку в файле с помощью hex-редактора? Нет-нет, это вполне возможно, но ты попробуй для начала сам. ;)

Вот только структуру ЕХЕ найти бы где
Сразу чувствуется - ты просто не искал.

Тама область метаданных. Нет?
Нет, там секция ресурсов.
А я все практикую лечение травами...

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 07.08.2008 (Чт) 7:38

Встроенный редактор ресурсов VB не позволяет добавлять в res-файл проекта иконки с нужным количеством цветов (с альфа-каналом). Воспользуйтесь сторонним редактором ресурсов (например ResHack) после чего подсуньте в проект уже готовый res-файл. Для того, чтоб иконка отображалась на ярлыке приложения, надо сделать ее номером 0 или c текстовым индексом, например "MAIN"
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 07.08.2008 (Чт) 11:33

Надо просто прибить VB-шные. Возьмётся иконка с меньшим идом.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 65

    TopList  
cron