[C con Clase] primer mensaje

Programante programante en gmail.com
Mar Mayo 29 15:20:43 CEST 2007


Cristina Jurado Marcos escribió:
>
>
> Es la primera vez que me apunto a algo así, así que es probable qu me 
> equivoque con la finalidad de esta lista, me ha parecido que es en 
> plan foro de preguntas, y yo tengo una pregunta, pero si no es así y 
> me he equivocado pido mil perdones.
>
> Por si acaso yo pregunto:
>
> Cómo se captura programando en C con el API de windows(compilado con 
> Visual Studio .NET, que es lo que tienen en la facultad) el presionado 
> de las teclas control y "c" a la vez? en Unix es un SIGINT pero en 
> Windows no sé que puedo hacer, ya que tampoco me vale una captura y 
> comprobacion del CTRL y luego de la "C" por que no son dos pulsaciones.
>
> Espero haberme explicado bien.
>
> Graciaas
>
El siguiente código funciona tanto en Unix como en Windows:
#include <signal.h>

void signal_handler(int signal) {
    printf("Recibida señal %d\n", signal);
    //Cerramos archivos abiertos, etc.
   
    exit(0);
}


int main(int argc, char *argv[])
{
    signal(SIGINT, signal_handler);

  ....resto del código

En Linux se prefiere sigaction() a signal(), pero Windows no soporta 
sigaction(), mientras que sí signal()

Un saludo




Más información sobre la lista de distribución Cconclase