C sharp - Cómo esperar que un proceso termine??

 
Vista:

Cómo esperar que un proceso termine??

Publicado por Rudy Castañeda (24 intervenciones) el 01/08/2007 20:17:13
Acabo de hacer un programa que se encarga de instalar multiples aplicaciones... el problema que tengo es que éstas llevan un orden de instalacione y pues a la hora de ejecutar el código, pues no espera a que termine el anterior y ejecuta al final todos los instaladores al mismo tiempo... a continuación presento una parte del código...

//todos los p, p1 p2.. son los procesos..

System.Diagnostics.Process p = new System.Diagnostics.Process();
System.Diagnostics.Process p1 = new System.Diagnostics.Process();
System.Diagnostics.Process p2 = new System.Diagnostics.Process();
System.Diagnostics.Process p3 = new System.Diagnostics.Process();

p.StartInfo.FileName = path1;
p.Start();
p.WaitForExit();
p.Close();

string processname = "msiexec";
System.Diagnostics.Process[] myprocess = System.Diagnostics.Process.GetProcessesByName(processname);

WaitforExitProcess(myprocess);

p1.StartInfo.FileName = path2;
p1.Start();
p1.WaitForExit();
p1.Close();
string processname1 = "msiexec";
System.Diagnostics.Process[] myprocess1 = System.Diagnostics.Process.GetProcessesByName(processname1);
WaitforExitProcess(myprocess1);

y en general así siguen los demás... pero por ejemplo p1 no espera a que termine p...

.. ayuda por favor... realmente la necesito.. le he dado muchas vueltas y no le encuentro.. gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cómo esperar que un proceso termine??

Publicado por Francesc (1 intervención) el 02/08/2007 00:41:38
Mirate la clase Thread y dentro podras ver si el proceso (con una enumeración) se ha temrinado o no.

Ej:

if p.state.equals(enumeracion)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar