LINUX.ORG.RU

GCC и работа с ресурсами бинарников win32


0

0

Собственно есть проблема: необходимо _выдирать_ иконки приложений из dll и exe файлов, используя только кошерный gcc :)

Если невозможно только gcc, может можно как-то используя библиотеки wine?

Надо это для проекта k4wine:
http://ox.uz.gov.ua/~brezerk/data/q4wine.png (69,0 Kb)

Если есть идеи\примеры реализации -- welcome

PS: с программированием под винды дел никогда имел.

Ответ на: комментарий от anonymous

Точнее ExtractIcon вместо LoadIcon.

Учти, что если это всё делается GCC, то, так как он виндовые строки не поддерживает, то нужны будут спец-костыли.

anonymous
()
Ответ на: комментарий от anonymous

Этот способ через билиотеки wine :) Не очень охота копатся с ВинАпи... Но спасибо, в букмаки закинул.

Evil_Wizard ★★★
() автор топика
Ответ на: комментарий от Evil_Wizard

Можешь раскопать формат PE-файлов, если есть большое желание переписать то, что разработчики wine уже написали.

Legioner ★★★★★
()

Нужно вытащить иконки из dll и exe и сохранить для себе (т.е. однократно) или при каждом запуске программы? Если первое, то ResourceHacker тебе в помощь.

generatorglukoff ★★
()
Ответ на: комментарий от Legioner

2Legioner:

Предлагаешь лезть в исходники вина? :) Не особо хочется... Мне тут подсказали, что в cadega есть питоновская реализация сего действа. Буду смотреть.

2generatorglukoff:

К сожалению нужно дать пользователю возможность вытаскивать иконки приложений самостоятельно. Путем кнопки и диалога выбора файла. В принципе это сейчас не самая важная фича, но былобы не плохо иметь нечто-такое.

Evil_Wizard ★★★
() автор топика
Ответ на: комментарий от Evil_Wizard

> Предлагаешь лезть в исходники вина?

Не совсем. Есть winelib, т.е. надо будет написать код на WinAPI, функции выше уже сказали, а реализация этих функций будет в winelib. Я так понял, программу предполагается использовать с wine-ом.

Legioner ★★★★★
()

Это будет не просто. В wine не реализовано (или уже сделали?) несколько важных функций winapi для загрузки иконок, + еще появился новый формат иконок который ни одна прога не поддерживает, появился в висте, там в ico файле последняя иконка высокого разрешения со сжатием (png?).

Lucky-x25
()
Ответ на: комментарий от Legioner

2Legioner:

Угу. Это Qt морда к Wine, пишется jast-for-fun ну и поучится программировать приложения для Linux. К winelib привязыватся не очень хочется, ввиду динамичности wine (Думаю у меня не будет особо много времени тянуть совместимость c возможными изменениями в winelib)

2Lucky-x25: Виста пока гуляет лесом :)

2All: спасибо за ответы, интесное закинул в букмаки, но думаю пока отложить реализацию сией фичи :)

Evil_Wizard ★★★
() автор топика
Ответ на: комментарий от Evil_Wizard

> К winelib привязыватся не очень хочется, ввиду динамичности wine

Не понял. WinAPI не меняется, wine его реализует. Как оно там внутрях, это сугубо wine-овское дело. WinAPI интерфейс то стабильный.

Legioner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.