Форум: "Система";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];
ВнизКак из приложения создать другое приложение Найти похожие ветки
← →
Myth (2002-02-27 23:30) [0]Доброе время суток!
Подскажите, пожалуйста, каким образом можно реализовать следующее:
При запуске “My project.exe” файла должен создаться другой exe-файл в другой директории (например – “Second_Project.exe”), при выполнении которого пусть выйдет хотя бы пустая форма.
Что я должен прописать в своем проекте “My project”. (Пожалуйста, в примере).
Можно, конечно, “кинуть” оба проекта в установочный пакет с разносом в разные директории, но это не тот вариант.
Мой e-mail: flawless@aport.ru
← →
gek (2002-02-28 07:12) [1]my_project -> my_compilytor -> my_pas
← →
Fellomena (2002-02-28 11:05) [2]Включить второй файл (Project2.exe) в первый как ресурс, а при запуске Project1.exe в разделе
initialization или OnCreate формы извлечь этот файл и записать куда надо.
Примеры здесь неуместны. Если не умеешь help-ом пользоваться - ищи в конфе ответ, таких вопросов полно было.
← →
drpass (2002-02-28 12:58) [3]Можно даже не в ресурс его кидать (все-таки help"а под рукой нет), а скопировать в конец своего exe файла, и при запуске доставать оттуда и копировать куда надо (так мы делали в великие времена MS DOS).
Опять же, старый вопрос: а зачем это нужно честной программе?
← →
Fellomena (2002-02-28 16:02) [4]2 drpass: можно 8) Но, согласись, мало кто назовёт такой способ "хорошим стилем программирования" ;)
А честная или нет - это всё ерунда.
format C: - честная команда ?
del ?
Так что не стоит разводить такие разговоры, imho.
← →
VuDZ (2002-02-28 16:56) [5]имхо, даже зло иногда творит доьро, само того не ведая (С)Гендальф, Власлелин колец
← →
MC TOL (2002-02-28 17:06) [6]- Кто ты?
- Я - часть той силы,
Что вечно хочет зла,
Но делает добро...
Гете, "Фауст".
ИМХО, задолго до пресловутого "Властелина колец"...
← →
VuDZ (2002-03-01 02:16) [7]но смысл один и тот же.
иногда те знания. которые приобретались для вреда, обращаются во благо (ну не поверю я, что авторы нтивирусов никогда не писали самих вирусов :> )
← →
avosurt (2002-03-02 01:24) [8]Ребята! давайте жить дружно! (с - кот Леопольд)
если уже пошли в ход такие произведения, то не могу удержаться;)))
← →
[NIKEL] (2002-03-02 08:59) [9]вот примерный код
1. стартуй блокнот и делай rc файл с такой строчкой
TESTFILE EXEFILE C:\Windows\Notepad.exe
2. сохрони это как myres.rc
3. компилим это через brcc32.exe
4. копируем myres.rc в рабочую дерикторию :)
5. в юните пишем такое:
var
Form1: TForm1;
NOTEPAD_FILE: string;
ну и сам код
implementation
{$R *.DFM}
{$R MYRES.RES}
function GetTempDir: string;
var
Buffer: array[0..MAX_PATH] of Char;
begin
GetTempPath(SizeOf(Buffer) - 1, Buffer);
Result := StrPas(Buffer);
end;
procedure ExtractRes(ResType, ResName, ResNewName: string);
var
Res: TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, PChar(ResType));
try
Res.SavetoFile(ResNewName);
finally
Res.Free;
end;
end;
procedure ShellExecute_AndWait(FileName: string);
var
exInfo: TShellExecuteInfo;
Ph: DWORD;
begin
FillChar(exInfo, SizeOf(exInfo), 0);
with exInfo do
begin
cbSize := SizeOf(exInfo);
fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_FLAG_DDEWAIT;
Wnd := GetActiveWindow();
ExInfo.lpVerb := "open";
lpFile := PChar(FileName);
nShow := SW_SHOWNORMAL;
end;
if ShellExecuteEx(@exInfo) then
begin
Ph := exInfo.HProcess;
end
else
begin
ShowMessage(SysErrorMessage(GetLastError));
Exit;
end;
while WaitForSingleObject(ExInfo.hProcess, 50) WAIT_OBJECT_0 do
Application.ProcessMessages;
CloseHandle(Ph);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ExtractRes("EXEFILE", "TESTFILE", NOTEPAD_FILE);
if FileExists(NOTEPAD_FILE) then
begin
ShellExecute_AndWait(NOTEPAD_FILE);
ShowMessage("Notepad finished!");
DeleteFile(NOTEPAD_FILE);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
NOTEPAD_FILE := GetTempDir + "Notepad_FROM_RES.EXE";
end;
← →
VuDZ (2002-03-02 16:16) [10]советую посмотреть исходники UPX - там и сжатие файла, и запуск его из друго без создания видимых файлов. Вспомню линк - скажу
← →
VuDZ (2002-03-02 16:21) [11]http://upx.sourceforge.net - тут исходники, так что если ког интерисует эта тма - u"re welcome :>
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c