Ver Mensaje Individual
  #1  
Antiguo 21-10-2008
richi richi is offline
Miembro
 
Registrado: jun 2006
Ubicación: Portosin - A Coruña
Posts: 51
Reputación: 18
richi Va por buen camino
Llamar a otra aplicación y que la primera quede bloqueada

Hola a todos.
Lo de llamar a otra aplicación y que en la primera no se pueda realizar nada, ya lo hice el problema biene que en la primera al quedar bloqueada y al estar la otra encima al moverla la form se pone en blanco y no me permite ver los datos. El codigo es el siguiente.
Código Delphi [-]
function ejecutarPrograma(Programa, Parametros : String; Esperar : Boolean) : Boolean;
var
   StartInfo : TStartupInfo;
   ProcInfo : TProcessInformation;
   CreateOK : Boolean;
begin
  FillChar(StartInfo,SizeOf(TStartupInfo),#0);
  FillChar(ProcInfo,SizeOf(TProcessInformation),#0);
  StartInfo.cb := SizeOf(TStartupInfo);

  CreateOK := CreateProcess(nil, PChar(Programa + Parametros), nil, nil, False,
                            CREATE_NEW_PROCESS_GROUP + NORMAL_PRIORITY_CLASS,
                            nil, nil, StartInfo, ProcInfo);

  // Comprobamos si se ha creado correctamente
  if (CreateOK) then begin
     // debemos esperar a que se finalize el proceso o NO
     if (Esperar) then
        WaitForSingleObject(ProcInfo.hProcess, INFINITE);

     Result := True;
  end
  else begin
            Result := False;
  end;

  CloseHandle(ProcInfo.hProcess);
  CloseHandle(ProcInfo.hThread);
end;
Cuando esperar es true es cuando se bloque la form del primer programa.
Responder Con Cita