Запускаю приложения так
Код: Выделить всё
procedure TFormMain.Button1Click(Sender: TObject);
begin
FillChar(StartupInfo, SizeOf(StartupInfo), 0);
FillChar(ProcessInfo, SizeOf(ProcessInfo), 0);
StartupInfo.cb := SizeOf(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := SW_SHOWNORMAL;
if CreateProcess(nil,
PChar(Edit1.Text),
nil,
nil,
False,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,
nil,
PChar(ExtractFilePath(Edit1.Text)),
StartupInfo,
ProcessInfo) then
begin
WaitForSingleObject(ProcessInfo.hProcess, INFINITE); // Ждём завершения процесса
CloseHandle(ProcessInfo.hThread);
CloseHandle(ProcessInfo.hProcess);
end;
end;