[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