Procesos

11/12/2003 - 15:00 por Miguel Tubía | Informe spam
Hola,
en un proyecto quiero ejecutar un programa y controlar cuando deja de
responder, etc, así q creo un objeto de la clase Process, y en un método lo
configuro así (para un ejemplo estoy poniendo el explorer):
this.proceso=new Process();
seinco.StartInfo.FileName=@"explorer";
proceso.EnableRaisingEvents=true;
proceso.Exited+=new EventHandler(this.ccmSale);
proceso.Disposed+=new EventHandler(this.ccmSale);
if (proceso.Start())
{
..
}

luego, en otro método,q llamo por un timer, miro si responde:

if (proceso.Responding)
{

}

pero aquí siempre me da como q ha cerrado. Si pongo antes del código
anterior lo siguiente:

if (proceso.HasExited)
{
.
return;
}

me entra, como si hubiera terminado el proceso. Pero eso no es verdad, ¿pq
puede ser? ¿quizás pq lo llamo cuando aún no lo ha creado pq le cuesta algo
de tiempo crear y ejecutar el proceso?
Muchas gracias
Un saludo

Preguntas similare

Leer las respuestas

#1 Carla
11/12/2003 - 21:06 | Informe spam
mirate esta direccion

http://support.microsoft.com/defaul...;es;304991

un saludo

"Miguel Tubía" escribió en el mensaje
news:OqirP8#
Hola,
en un proyecto quiero ejecutar un programa y controlar cuando deja de
responder, etc, así q creo un objeto de la clase Process, y en un método


lo
configuro así (para un ejemplo estoy poniendo el explorer):
this.proceso=new Process();
seinco.StartInfo.FileName=@"explorer";
proceso.EnableRaisingEvents=true;
proceso.Exited+=new EventHandler(this.ccmSale);
proceso.Disposed+=new EventHandler(this.ccmSale);
if (proceso.Start())
{
..
}

luego, en otro método,q llamo por un timer, miro si responde:

if (proceso.Responding)
{

}

pero aquí siempre me da como q ha cerrado. Si pongo antes del código
anterior lo siguiente:

if (proceso.HasExited)
{
.
return;
}

me entra, como si hubiera terminado el proceso. Pero eso no es verdad, ¿pq
puede ser? ¿quizás pq lo llamo cuando aún no lo ha creado pq le cuesta


algo
de tiempo crear y ejecutar el proceso?
Muchas gracias
Un saludo


Respuesta Responder a este mensaje
#2 Ariel Gimenez
15/12/2003 - 12:52 | Informe spam
Muy bueno el Link Carla!

gracias
"Carla" wrote in message
news:
mirate esta direccion

http://support.microsoft.com/defaul...;es;304991

un saludo

"Miguel Tubía" escribió en el mensaje
news:OqirP8#
> Hola,
> en un proyecto quiero ejecutar un programa y controlar cuando deja de
> responder, etc, así q creo un objeto de la clase Process, y en un método
lo
> configuro así (para un ejemplo estoy poniendo el explorer):
> this.proceso=new Process();
> seinco.StartInfo.FileName=@"explorer";
> proceso.EnableRaisingEvents=true;
> proceso.Exited+=new EventHandler(this.ccmSale);
> proceso.Disposed+=new EventHandler(this.ccmSale);
> if (proceso.Start())
> {
> ..
> }
>
> luego, en otro método,q llamo por un timer, miro si responde:
>
> if (proceso.Responding)
> {
>
> }
>
> pero aquí siempre me da como q ha cerrado. Si pongo antes del código
> anterior lo siguiente:
>
> if (proceso.HasExited)
> {
> .
> return;
> }
>
> me entra, como si hubiera terminado el proceso. Pero eso no es verdad,


¿pq
> puede ser? ¿quizás pq lo llamo cuando aún no lo ha creado pq le cuesta
algo
> de tiempo crear y ejecutar el proceso?
> Muchas gracias
> Un saludo
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida