Utilizamos cookies propias y de terceros. Al navegar entendemos que aceptas el uso de cookies. +Info.
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Usuario
· Wiki

Ejecutar aplicación y esperar a que termine - Delphi
Lenguaje de programación Borland Delphi



Os mostramos cómo ejecutar una aplicación externa con Delphi y esperar a que finalice. Nuestra aplicación Delphi no podrá ser enfocada ni mostrada hasta que no termine (se cierre) la aplicación externa ejecutada.

Utilizaremos la función WaitForSingleObject para esperar hasta que la aplicación externa se cierre y utilizaremos la función CreateProcess para ejecutar la aplicación externa.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes,
  Graphics, Controls, Forms, Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    btEjecutar: TButton;
    txtAplicacion: TEdit;
    procedure btEjecutarClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function ejecutarProceso (nombreProceso : string) : Cardinal;
var
  infoInicio : TStartupInfo;
  infoProceso : TProcessInformation;
begin
  Result := 0;

  FillChar (infoInicio, SizeOf(infoInicio), 0);
  infoInicio.cb := SizeOf(infoInicio);

  if CreateProcess(PChar(nombreProceso), nil,
      nil, nil, false, 0, nil, nil,
      infoInicio, infoProceso) then
    Result := infoProceso.hProcess;
end;

procedure TForm1.btEjecutarClick(Sender: TObject);
var
  numProceso : Cardinal;
begin
  Application.Minimize;
  numProceso := ejecutarProceso (txtAplicacion.Text);
  if numProceso <> 0 then
    WaitForSingleObject (numProceso, INFINITE);
  Application.Restore;
end;

end.




Publicado el: 2007-08-20

Este sitio web NO CONTIENE malware, todos los programas con código fuente aquí. Autor: Alonso Javier Pérez Díaz Google+ Síguenos en Google+