C/Visual C - algo aparentemente dificil.

 
Vista:

algo aparentemente dificil.

Publicado por andres (5 intervenciones) el 14/10/2006 21:47:17
Hola, os planteo mi problema por si alguien me puede ayudar. Quiero parar la ejecución de una función (en Visual C++) mediante una pulsación de teclado. Una función, como un bucle: for o while, que comprueba continuamente el valor de una variable, no deja que por ejemplo la función PreTranslateMessage(MSG* pMsg) cambie el valor de esa variable, y por lo tanto, el programa no sale del bucle. ¿Cómo se resuelve esto?

Gracias,

Andres.
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:algo aparentemente dificil.

Publicado por dingo (17 intervenciones) el 15/10/2006 01:02:34
si lo estas haciendo en modo consola te servira la funcion kbhit esta en la lib conio .h
si lo que quieres es para una aplicacion con Forms y cosas por el estilo tu IDE debe tener
un evento OnKeyPress o algo por el estilo en la ventana de propiedades de las forms

pero igual se puede hacer atachando una dll a tu programa y que ella le haga un hook al teclado
visita www.thecodeproject.com ahi encontraras como
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

RE:algo aparentemente dificil.

Publicado por andres (5 intervenciones) el 15/10/2006 22:58:31
Trabajo con Forms. Las funciones como OnkeyPress, OnMouseMove, OnRButtonDown, ... que detectan pulsaciones de teclado o de raton, no se ejecutan hasta que termina la funcion que quiero parar, así que no la pueden parar. No conozco las dll pero quizá tampoco conseguiría cambiar el valor de la variable global que para la función hasta que la función la suelte, es decir, la función acabe, no sé. He leido que Visual C++ no permite el manejo de interrupciones. ¿Que puedo hacer?.
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