[TRUCOS DELPHI] Iniciar una aplicacion y esperar hasta que termine.
delphi
function ExecFileAndWait(const aCmdLine: String; Hidden, doWait: Boolean): Boolean; var StartupInfo : TStartupInfo; ProcessInfo : TProcessInformation; begin FillChar(StartupInfo, SizeOf(TStartupInfo), 0); with StartupInfo do begin cb:= SizeOf(TStartupInfo); dwFlags:= STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK; if Hidden then wShowWindow:= SW_HIDE else wShowWindow:= SW_SHOWNORMAL; end; Result := CreateProcess(nil,PChar(aCmdLine), nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo); if doWait then if Result then begin WaitForInputIdle(ProcessInfo.hProcess, INFINITE); WaitForSingleObject(ProcessInfo.hProcess, INFINITE); end; end;
Ejemplo de uso:
delphi
procedure TForm1.Button1Click(Sender: TObject); begin ExecFileAndWait('notepad.exe',false,true); end;
Saludos!