Bonjour,
je développe un programme en ligne de commande, pour empecher l'utilisateur d'appuyer sur CTRL-C, j'utilise SetConsoleCtrlHandler() qui récupére CTRL_C_EVENT.
L'évenement est bien capté par le programme, mais le fichier stdin est fermé lors de la combinaison CTRL-C.
Il m'est donc impossible de récupérer des entrées claviers delors qu'un ctrl-c est effectué, j'aimerais que cette combinaison soit tout simplement anhilé.
Voici le bout de code :
1 2 3 4 5 6 7 8 9 10 11
|
BOOL CtrlHandler(DWORD action)
{
if (action==CTRL_C_EVENT ||action==CTRL_BREAK_EVENT)
{
char buf[50];
if (!(std::cin>>buf))
std::cout<<"erreur cin";
}
return TRUE;
} |
Dans le main :
SetConsoleCtrlHandler((PHANDLER_ROUTINE) CtrlHandler, TRUE);
erreur cin est afficher lors du CTRL-C.
Merci
Partager