Главная страница
    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.45 MB
Время: 0.036 c
6-1097146639
Leksiy
2004-10-07 14:57
2004.12.19
получение ай пи с помощью библиотеки


6-1097094870
Zhuk
2004-10-07 00:34
2004.12.19
TClientSocket и TServerSocket


14-1102004474
Alex_Petr
2004-12-02 19:21
2004.12.19
А где предпятничные задачки ?


1-1102093930
Sur
2004-12-03 20:12
2004.12.19
Разве нельзя читать самаво себя?


14-1101384711
Gektor
2004-11-25 15:11
2004.12.19
Посмотреть байт на осциллографе





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский