Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с ресурсами [D7, WinXP]


Bozzy ©   (2007-10-16 17:35:00) 

Здравствуйте уважаемые Мастера!
Сейчас я работаю с русурсами в exe файлах, и у меня возник такой вопрос:
Каким образом можно программно добавить в откомпелированный exe файл файл
ресурсов, который я создал через brcc32.exe?
Я пробовал делать это следующим образом:

var
 Hrs : DWORD;
 Stream : TMemoryStream;
begin
 Stream := TMemoryStream.Create;
 Stream.LoadFromFile('c:\test.res');
 Hrs := BeginUpdateResource(PChar('c:\app.exe'), false);
 UpdateResource(Hrs, RT_ICON, PChar(UpperCase('MAINICON')), 1049, Stream.Memory, Stream.Size);
 EndUpdateResource(Hrs, false);
end;

Где:
'c:\test.res' - путь к файлу с ресурсом
'c:\app.exe' - путь к exe фалу, в который нужно добавить русурсы
'MAINICON' - имя ресурса
1049 - язык (русский)

В данном примере я хотел заменить иконку файла, но функция что-то не работает.
Не могли бы Вы привести готовую функцию или сказать где ошибка.
Данную функцию я хотел использовать как универсальную:
Замена курсоров, иконок, version-info, итд.

Данная функция работает, если в качестве типа ресурса указать RT_MY
const RT_MY = MakeIntResource(DWORD(RT_RCDATA + DIFFERENCE));

При этом ресурсы легко извлекаются.

Буду очень признателен если Вы мне поможете.


Правильный_Вася   (2007-10-16 17:39:00) [1]

XN Resource Editor
есть в исходниках


Наверх

Титульная страница Поиск, карта сайта Написать письмо