Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 28-10-2005
ferna ferna is offline
Registrado
 
Registrado: oct 2005
Posts: 6
Poder: 0
ferna Va por buen camino
Ejecutar aplicacion y esperar a que termine.

Hola yo utilizo la siguiente funcion para llamar a un programa externo y esperar hasta que termine.

Código:
 
function WinExecAndWaitEx(FileName: TFileName; TimeOut: DWORD): Boolean;
var
   {$IFDEF WIN32}
   StartupInfo: TStartupInfo;
   ProcessInfo: TProcessInformation;
   ExCode,Res : DWORD;
   {$ELSE}
   hAppInstance: THandle;
   Msg		 : TMsg;
   aBuf		: array[0..255] of Char;
   {$ENDIF}
begin
   Result := False;
   {$IFNDEF WIN32}
   hAppInstance := WinExec(StrPCopy(aBuf, FileName), SW_NORMAL);
   if (hAppInstance < HINSTANCE_ERROR) then exit
   else
   repeat
	  while PeekMessage(Msg, 0, 0, 0, pm_Remove) do
	  begin
		TranslateMessage(Msg);
		DispatchMessage(Msg);
	  end;
   until (GetModuleUsage(hAppInstance) = 0);
   Result := True;
   {$ELSE}
   FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
   with StartupInfo do
   begin
	  cb := SizeOf(TStartupInfo);
	  dwFlags := STARTF_USESHOWWINDOW;
	  wShowWindow := SW_NORMAL;
   end;
   if CreateProcess(nil,PChar(FileName),nil,nil,False,NORMAL_PRIORITY_CLASS,
					nil,nil,StartupInfo,ProcessInfo) then
   begin
	  Res := WaitforSingleObject(ProcessInfo.hProcess, TIMEOUT);
	  if (Res = WAIT_TIMEOUT) then
	  begin
		 TerminateProcess(ProcessInfo.hProcess,0);
		 CloseHandle(ProcessInfo.hProcess);
		 Result := False;
	  end
	  else
	  begin
		 GetExitCodeProcess(ProcessInfo.hProcess, ExCode);
		 CloseHandle(ProcessInfo.hProcess);
		 Result := True;
	  end;
   end;
   {$ENDIF}
end;

La llamo asi:
Código:
 
 
Result := WinExecAndWaitEx(FileName,INFINITE);
Bueno espero que te sirva.
Saludos

Fernando
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 06:10:17.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi