|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Упаковка файлов (.dll, .exe) в один .exe
Работаю на консольном Borland C++ 5.5.1
Как мне добавить .exe в ресурсы программы (чужой exe-ник 15Мб) и файл .html к себе в ресурсы ? И как мне из ресурсов сохранить на диск (временную папку) для дальнейшего запуска ? Очень хочется иметь ОДИН.exe , без всяких добавочных файлов. Последний раз редактировалось AndreyV, 21.03.2014 в 17:18. |
#2
|
||||
|
||||
MagicFile.rc
Код:
CALC BIN c:\Windows\System32\calc.exe Код:
unit Unit1; interface {$R 'MagicFile.res' 'MagicFile.rc'} uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var ResourceStream: TResourceStream; FileStream: TFileStream; begin FileStream:=TFileStream.Create('calc.exe', fmCreate); ResourceStream:=TResourceStream.Create(HInstance, 'CALC', 'BIN'); FileStream.CopyFrom(ResourceStream, ResourceStream.Size); ResourceStream.Free; FileStream.Free; end; end. Пишу программы за еду. __________________ |
#3
|
||||
|
||||
Можно запользовать самораспаковывающийся архив.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#4
|
|||
|
|||
Цитата:
NumLock Я же писал, что нужно для консольного BCC++ 5.5.1 Спасибо за Дельфи, но на нем не работаю вообще. Да и в Си тоже не силен. Последний раз редактировалось M.A.D.M.A.N., 22.03.2014 в 08:13. |
#5
|
|||
|
|||
А что, перевести на С++ очень тяжело???
Вроде так (нет плюсов что бы проверить): Код:
void TForm1.FormCreate(TObject* Sender); { TResourceStream * ResourceStream; TFileStream * FileStream; FileStream = new TFileStream("calc.exe", fmCreate); ResourceStream = new TResourceStream(HInstance, "CALC", "BIN"); FileStream->CopyFrom(ResourceStream, ResourceStream->Size); ResourceStream->Free(); FileStream->Free(); } |