Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Вниз

Изменение иконки любого приложения   Найти похожие ветки 

 
6h   (2004-12-01 16:16) [0]

Меня интересует вопрос о том, как изменить ресурс любого файла. На примере изменения отображаемой иконки exe файла любого приложения программным образом.


 
Sirakuz ©   (2004-12-01 17:29) [1]

Открой файл в FileStream, вооружись докой по PE формату, конкретно ты должен научиться правильно преобразовывать RVA в физикал оффсет; Ты должен прочитать из секции ресурсов ресурсы типа icons(каждая запись может иметь различную длину)(создай массив, будет удобнее). Винда в качестве значка к программе отображает иконку (тип ресурса icon), с индексом находящимся в первом ресурсе типа Icon Group. запись Icon Group кратна $14 байтам. Последние 2 байта каждого блока по $14 байт первого ресурса Icon Group определяют номер иконки(индекс в массиве иконок), которая винда может отобразить в качестве иконки к программе. Чаще всего этот первый икон гроуп ссылается на одну иконку, но если на большее количество, то винда выбирает ту иконку, параметры которой (разрешение, глубина цвета), больше подходят к текущим параметрам экрана.


 
Anton_K ©   (2004-12-01 17:33) [2]

>[1]

Не надо пугать людей. В NT-системах есть специальные функции для изменения ресурсов: BeginUpdateResource,UpdateResource, EndUpdateResource.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.041 c
4-1099863792
Змей
2004-11-08 00:43
2004.12.19
Логин


14-1100952113
ИМХО
2004-11-20 15:01
2004.12.19
Чемпионат Испании: турнир прогнозов 2


1-1102259654
Гаврилов В.А.
2004-12-05 18:14
2004.12.19
Как вставить в Listview таблицу базы данных


1-1102343942
Dysan
2004-12-06 17:39
2004.12.19
дополнения к IDE Delphi


14-1101811612
sirsergio
2004-11-30 13:46
2004.12.19
Помогите найти DevExpress ExpressDBTree Suite. Плиззз.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский