Visual Basic.NET - interrupir un programa con status de salida

 
Vista:

interrupir un programa con status de salida

Publicado por emgodi (1 intervención) el 01/12/2010 09:34:26
Buenas.

Trabajo con VB 2008 Express y estoy diseñando una aplicacion en modo consola que quiero devuelva 0 si termina de forma norma y -1 si termina porque el usuario ha pulsado control+c o ha matado el proceso desde al administrador de tareas. He conseguido capturar la interrupción de forma que cuando pulso ctrl+c me ejecuta una función:

AddHandler console.cancelkeypress, addressof MiFuncion

pero no se como hacer que al ejecutar esta función el progrma cese en su ejecución y devuelve al sistema -1. Lo he intentao con environment.exitcode=-1 y con enviroment.exit(-1) pero no funciona porque la ejecución del programa continua por ls siguiente instrucción pero no se cancela.

¿Tenéis alguna idea o ejemplo de como se hace esto? 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:interrupir un programa con status de salida

Publicado por emgodi (1 intervención) el 01/12/2010 13:25:52
Me respondo a mi mismo.

Mi fallo ha sido no utilizar system.environment.exit(-1) ya que lo que estaba utilizando era system.environment.exitcode=-1. La primera instrucción sale del programa con el status de retorno -1 y la segunda solo as asigna el valor pero no sale del programa.

Una vez tengo esto claro consigo devolver el código de retorno que yo quiero cuando se pulsa Ctrl+c.

Pero continuo si saber si puedo hacer algo parecido cuando se mata el programita desde el taskmanager de windows. En este caso me devuelve siempre 1 independientemente de que le ponga system.environment.exitcode=-1 al inicio del programa.
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