La Web del Programador: Comunidad de Programadores
 
    Pregunta:  30098 - CREAR INTERRUPCION
Autor:  Monica Perez
Hola, estoy programando en Visual C++ 6.0 y necesito crear una interrupcion, la cual tiene que ejecutar una funcion X, me podrian decir como hacerlo
o donde buscar informacion..

Gracias

  Respuesta:  Ricardo Jiménez
Estimada compañera.
No entiendo bien lo que quieres decir con "interrupción". Supongo que te refieres a eventos. Si es así espero que este mensaje te resulte de ayuda.
Para la gestión de eventos es necesario llamara a la función del API CreateEvent. Esta función retorna un manejador que te servirá al utilizar la función WaitForSingleObject. Esta función es la que se encarga de esperar los eventos y puedes configurarla como bloqueante hasta que se produce este.
Para activar el evento tienes que llamar a la función SetEvent.

Dentro de tu programa tendrás que hacer lo siguiente:
- en tu programa crear un evento, y después de esto
- Crear una hebra dedicada a esperar el mensaje. A esta hebra le pasarás como parámetro el manejador del evento
- dentro de la hebra llamarás a la función WaitForSingleObject (mira los valores de retorno que no me acuerdo de memoria) hay un valor de retorno que te indicará que el evento se ha producido., este valor de retorno lo utilizarás para controlar la ejecución de tu "función X"
- Allá donde necesites que se dispare tu función X sólo tendrás que llamar a SetEvent pasando el manejador del evento.

No se si te he ayudado en algo, espero que si,

Un saludo