![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| BaD_SeCt0R |
|
|||
![]() Lazy Coder ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 9.10.2006 Где: Анапа Репутация: 3 Всего: 18 |
Вообще это возможно средствами WinAPI? Или мне придется вручную ковырыть таблицу ресурсов в PE? Если у кого был опыт, подскажите пожалуйста.
-------------------- Кто владеет информацией - владеет миром. (С) Френсис Бэкон. |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
BeginUpdateResource/UpdateResource/EndUpdateResource + F1
-------------------- There are always someone smarter than you... |
|||
|
||||
| BaD_SeCt0R |
|
|||
![]() Lazy Coder ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 9.10.2006 Где: Анапа Репутация: 3 Всего: 18 |
Хе, точно, в BeginUpdateResource вторым параметором... А я-то всю жизнь думал, что им можно только заменять ресурсы
-------------------- Кто владеет информацией - владеет миром. (С) Френсис Бэкон. |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
BaD_SeCt0R, так же и создавать. UpdateResource + F1
-------------------- There are always someone smarter than you... |
|||
|
||||
| BaD_SeCt0R |
|
|||
![]() Lazy Coder ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 9.10.2006 Где: Анапа Репутация: 3 Всего: 18 |
Эх, разобрался уж. Пишеться все, все создается и удаляется у меня в dll. Но тут у меня потребность возникла сделать то же самое со своим exe. Создаю пробный экзэшник, в нем, естесственно только одна иконка - mainicon
Этот код просто меняет главную иконку в уже готовом exe на иконку текущего моего приложения. Все работает, вижу, что дельфовая иконка в exe сменилась. Открываю exe в Restorator'е (это редактор ресурсов такой, если кому неизвестно) и вижу -------------------- Кто владеет информацией - владеет миром. (С) Френсис Бэкон. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 16 Всего: 459 |
BaD_SeCt0R, иконка в экзешнике разбивается n+1 часть, где n число каров в иконке а 1 это RT_GROUP_ICON - описатель принадлежности кадров иконке. Потому для добавления или замены иконки нужно удалить группу и ее все кадры, а потом разбить свою иконку на IconDir и кадры и записать их каждую в нужную секцию.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| BaD_SeCt0R |
|
|||
![]() Lazy Coder ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 9.10.2006 Где: Анапа Репутация: 3 Всего: 18 |
Alexeis, я понял свою ошибку (по крайней мере кода, что я привел). Тут все дело в языках! То есть на самом деле редактирования ресурса не происходит, а создается новый языконезависимый ресурс. В итоге я получаю две иконки: русскую и от языка независящую.
-------------------- Кто владеет информацией - владеет миром. (С) Френсис Бэкон. |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |