![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с ресурсами [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
есть в исходниках