Je voudrais pouvoir capter et enregistrer lapuis sur une touche sans faire un getch() ou un scanf() ie ne pas mettre en "pause" mon programme.
Merci
Je voudrais pouvoir capter et enregistrer lapuis sur une touche sans faire un getch() ou un scanf() ie ne pas mettre en "pause" mon programme.
Merci
Sous windows oui en C dans une console apps pas dans une win appsEnvoyé par seriousme
ton attente cpnsole est forément bloquante, la solution c'est de faire du multi thread. mais la je peux pas t en dire plus
Le mieux reste sûrement les fonctions de l'API windows mais si c'est une application console...
Sinon avec kbhit:
http://opecheux.free.fr/abcp/refc/kbhit.html
Merci mais Pour utiliser Kbhit il faut pc.h seul problemme lorsque je compile avec Devc++ il me dit :Envoyé par seriousme
Code : Sélectionner tout - Visualiser dans une fenêtre à part pc.h: No such file or directory.
Salut,
Avec la fonction kbhit() qui retourne un entier non nul si un code de touche est présent dans le buffer clavier. Ensuite, il suffit de lire ce code avec getch().
Je précise que le programme N'EST PAS bloquant, puisque la fonction getch() n'attend pas la touche, puisqu'elle est déja dans le buffer clavier ;-)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int touche = 0 ; do { if(kbhit()) // Si une touche présente dans le buffer clavier... { // ...lire la touche touche = getch() ; printf("'%c' (%.2Xh)\n", touche, touche) ; } } while(touche!=0x1B) ; // Tant que touche <> de ESCAPE return 0 ; }
En esperant avoir été clair, voila...
Partager