Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > програмно включить res файл в exe


Автор: Volkogriz 13.1.2013, 05:24
Доброе время суток!
Вопрос собственно такой:
есть архив res есть заготовка exe как всунуть программно res файл внутрь exe?
Не при помощи  {$R архив.res} а программно smile
Заранее благодарен.
С уважением,
Volkogriz!

Автор: DarkProg 13.1.2013, 11:45
Если очень коротко, то нужны три функции WinAPI, почему три я так до конца и не понял, если честно....

Код

    UpHandle := BeginUpdateResource (pWideChar(GetLibraryPath+'ResDLL.dll'), False);

    stStream:=TStringStream.Create;
    stStream.WriteString(NewDigest);
    stStream.Seek(0, soFromBeginning);

    if UpdateResource(UpHandle, RT_RCDATA, 'RESNAME', MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), stStream.Memory, stStream.Size) then
      begin
        if EndUpdateResource(UpHandle, False) then
           begin
              //Обновление прошло успешно
           end;
      end;


Суть этого куска кода в тому что я беру и запихиваю строку в ResDLL.dll, но у меня в библиотеке был уже пустой ресурс с именем RESNAME, но согласно MSDN UpdateResource может и добавлять ресурс в том числе, но я не проверял это сам. Но в общем вот направление в котором копать.

Автор: Keeper89 13.1.2013, 15:05
http://stackoverflow.com/questions/6054300/how-to-attach-a-resource-file-to-an-existing-executable-file

Автор: Volkogriz 13.1.2013, 15:38
Огромное всем спасибо!
Перерыл весь поиск и не нашёл не чего подобного(
Наверно плохо искал:)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)