Bonjour,
La solution sous windows :
ReadFile(stdin) + overlapped result
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Version imprimable
Bonjour,
La solution sous windows :
ReadFile(stdin) + overlapped result
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
http://social.msdn.microsoft.com/For...ous-operations
Citation:
Well, ain't that a surprise. Overlapped I/O simply allows asynchronous I/O, it doesn't force it.
Pas mieux, ou alors il faut me fournir un bout de code !
Le système reste bloqué en attente d'au moins 1 caractère. En désactivant l'attente du CR (cf plus haut) le prog tourne entre chaque caractère saisi mais cç ne change pas le fait qu'il se bloque !
Je n'ai pas encore trop bien compris le "overlapped result"...
Et je désespère. :(
Example: msdn.microsoft.com/en-us/library/windows/desktop/aa365690(v=vs.85).aspx
comme l'a noté Iradrille. L'opération asynchrone est permise mais non forcée. En d'autres mots on peut malgré tout se retrouver avec un comportement bloquant au bon vouloir de l'OS. Ce comportement est a priori surtout observé sous Vista et Seven. Je n'ai jamais rencontré ce problème sous XP (heureusement, s'aurait été la cata). A essayer donc...
Sinon, d'autres pistes :
- pdcurse
- conio.h + kbhit
- thread, même la version express de visual studio doit supporter au moins une implémentation de thread. ce qu'elle ne doit pas supporter c'est le debugage multithread.
Depuis le temps que je te vois essayer différentes pistes les plus étranges et les moins fiables, un bon thread simple te fera l'affaire en 1h de travaille grand max. C'est pas "overkill" sachant que c'est le plus simple et le plus fiable sur le fonctionnement, car le thread au moins on sait ce qu'il fait et windows ne bloque rien si il le désire.
Bref, je maintiens le thread. :)
Le thread n'est pas toujours adapté.
L'exemple type: on veut saisir des mots de passes et remplacer chaque lettre par une étoile. Avec des threads on n'arrivera à rien.
Bon, ce n'est peut-être pas ce qui est attendu ici. Mieux je reste persuadé qu'il vaut apprendre à configurer sa console.
+1 pour le thread. Je pense que c'est la solution la plus simple et élégante pour les besoins de jfadeuilhe (à lui de voir).
Mais bon, comme on aime bien se chatouiller, on peut y aller avec des SetWindowsHookEx() :lol:
Mais il est recommandé de d'abord se documenter sur le fonctionnement de Windows et son système de messagerie, un bon début ici par exemple http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx