Empécher la fermeture de la console vista
Résolu
Moustik47300
Messages postés
13
Statut
Membre
-
Moustik47300 Messages postés 13 Statut Membre -
Moustik47300 Messages postés 13 Statut Membre -
Bonjour,
Je voudrais savoir la ligne de code C permettant d'exécuter un programme en console sans que l'utilisateur puisse la fermer, en grisant la croix en haut a droite par exemple, en la désactivant.
Svp soyez précis dans vos réponses merci...
Je voudrais savoir la ligne de code C permettant d'exécuter un programme en console sans que l'utilisateur puisse la fermer, en grisant la croix en haut a droite par exemple, en la désactivant.
Svp soyez précis dans vos réponses merci...
Configuration: Windows Vista Firefox 3.0.8
5 réponses
-
Voici ce que j'arrive à faire, c'est pas terrible mais c'est un début...
Quand on clique sur la croix, le programme intercepte le signal SIGBREAK et effectue les instructions demandées dans "void Intercepter(sig_atomic_t);" par exemple pour désallouer la mémoire avant de quitter#include <stdio.h> #include <stdlib.h> #include <signal.h> void Intercepter(sig_atomic_t signal) { fprintf(stderr,"\n\nInterception du signal %ld\n\n",signal); system("PAUSE"); exit(1); } int main(void) { signal(SIGBREAK,&Intercepter); // début du programme principal int n=1; while (n!=0) { fprintf(stderr,"Entrer un entier (0 pour quitter) : "); scanf("%ld",&n); fprintf(stderr,"\n\t%ld\t%ld\n\n",n,n); } return 0; } -
J'avoue ne pas connaitre énormément le C, mais récemment j'ai travaillé en C sous Linux et j'utilisai <signal.h> pour contrôler la fermeture Ctrl+C du processus...
Si il y a un équivalent avec Windows peut-être dois-tu te tourner vers ce genre d'outils pour contrôler le signal de fermeture de la console...
Désolé de ne pas être plus précis, je crois que c'est quand même un début... -
Merci je vais partir sur ca...
Si quelqu'un a une réponse plus complète merci d'avance... -
je viens d'essayer et le programme fonctionne comme si ne rien n'était et la fermeture de la console est toujours possible...
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -