![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Работаю на консольном 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
|
||||
|
||||
|
Можно запользовать самораспаковывающийся архив.
|
|
#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();
} |