Ir al contenido


Foto

[TRUCOS DELPHI] Iniciar una aplicacion y esperar hasta que termine.


  • Por favor identifícate para responder
1 respuesta en este tema

#1 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 mensajes
  • Location127.0.0.1

Escrito 24 agosto 2016 - 10:57

[TRUCOS DELPHI] Iniciar una aplicacion y esperar hasta que termine.


delphi
  1. function ExecFileAndWait(const aCmdLine: String; Hidden, doWait: Boolean):
  2. Boolean;
  3. var
  4. StartupInfo : TStartupInfo;
  5. ProcessInfo : TProcessInformation;
  6. begin
  7. FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
  8. with StartupInfo do
  9. begin
  10. cb:= SizeOf(TStartupInfo);
  11. dwFlags:= STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
  12. if Hidden
  13. then wShowWindow:= SW_HIDE
  14. else wShowWindow:= SW_SHOWNORMAL;
  15. end;
  16.  
  17. Result := CreateProcess(nil,PChar(aCmdLine), nil, nil, False,
  18. NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo);
  19. if doWait then
  20. if Result then
  21. begin
  22. WaitForInputIdle(ProcessInfo.hProcess, INFINITE);
  23. WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
  24. end;
  25. end;

Ejemplo de uso:


delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3. ExecFileAndWait('notepad.exe',false,true);
  4. end;

Saludos!


  • 1

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 24 agosto 2016 - 01:44

Lanzar y controlar una aplicación exterior
Ejecutar un programa y esperar hasta recibir su respuesta.


Saludos.
  • 1




IP.Board spam blocked by CleanTalk.