C sharp - ¿como capturar control+c en consola?

 
Vista:

¿como capturar control+c en consola?

Publicado por ervity (1 intervención) el 09/01/2007 22:25:49
Hola muy buenas, tengo un pequeño problemilla que no creo que sea muy dificil de resolver pero se me a atragantado debido a que no he usado capturas de teclado.
La idea es la siguiente, tengo un bucle while en el que voi lanzando hilos, que me muestran un mensaje por la consola:

while (true)
{

hiloparapaquete hpp = new hiloparapaquete(sendbuf, PacketSize, epServer, nBytes, socket, EndPointFrom);

Thread th = new Thread(new ThreadStart(hpp.envio));

th.Start();



}

La cosa es que quiero que salga del bucle cuando pulse control+C pero eso mata todo el programa y yo solo quiero que salga del bucle. No se como hacerlo y estoy desesperado, ayuda por favor. 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
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:¿como capturar control+c en consola?

Publicado por Yamil Bracho (1164 intervenciones) el 11/01/2007 19:29:26
El problema es que tu hilos son creados dentro del ciclo y al terminar el ciclo, esas tareas se destruyen. Crea una variable fuera del ciclo, digamos un ArrayList donde guardes las instancias de los hilos. Por ejemplo:

ArrayList hiloList = new ArrayList();
while (true)
{

hiloparapaquete hpp = new hiloparapaquete(sendbuf, PacketSize, epServer, nBytes, socket, EndPointFrom);
Thread th = new Thread(new ThreadStart(hpp.envio));
hiloList.Add( th );
th.Start();
}
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