Bonjour à tous,
Je suis en train de créer une petite application du genre de PONG.
Lorsque l'utilisateur déplace la raquette avec la touche "flèche droite" une multitude de messages WM_KEYDOWN(VK_RIGHT,0) sont envoyés à ma fenêtre. Le problème c'est que le temps que le thread gère tous les messages, si on maintient la touche appuyée, la raquette continue à bouger même lorsqu'on à laché la touche.
Je voudrais donc, avant chaque déplacement, que mon programme vérifie si la touche est bien enfoncée ou non.
En chechant j'ai trouvé GetKeyState() et GetAsyncKeyState().
Mais j'ai lu que la première se référait au messages traités par le thread courant.
J'aimerais donc que la fonction en question renvoie l'état de la touche au moment de l'appel de la fonction.
Le problème de GetAsyncKeyState c'est que la fenetre doit avoir le focus, je voudrais savoir si la touche est pressée même si la fenetre courante n'a pas le focus.
Je sais que c'est possible vu que c'est comme cela que fonctionnent les spywares.
Est-ce qu'il existe une telle fonction?
Merci d'avance de vos réponses (si vous avez une autre solution à me proposer, je suis preneur).
EDIT :
Ci joint un petit test pour GetAsyncKeyState() qui ne marche pas.
Que faudrait-il faire pour qu'il marche? (Il se peut que j'ai mal comris ce qu'écrivait la MSDN sur cette fonction)
Partager