Probleme avec keybd_event

kornetmuse Messages postés 38 Date d'inscription samedi 17 juillet 2004 Statut Membre Dernière intervention 19 octobre 2010 - 17 juil. 2004 à 02:52
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 - 18 juil. 2004 à 11:29
salut tout le monde.. j'apprend a me servir de keybd_event mais comprend pas tout ^o)
j'ai ecris ca dans mon code C

if (keybd_event(27,0,0,0))
mvt=0;

mais kan je compile il me sort un vieux message d'erreur :

void valuenot ignored as it ought to be.... j'arrive pas a voir ce qui ne vas pas.. pleaz helpppp :'(

9 réponses

Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012
17 juil. 2004 à 03:26
Tiens MSDN dit cela :
// Simulate a key press
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | 0,
0 );

// Simulate a key release
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0);

voial la page ou tu pourra trouver tous les codes_touches : code_touche-MSDN

Voila gspr que cela repond a ta question.

Nexus
0
kornetmuse Messages postés 38 Date d'inscription samedi 17 juillet 2004 Statut Membre Dernière intervention 19 octobre 2010
17 juil. 2004 à 03:36
il me dis tjs la meme choz :( void value not ignored etc....

est ce possible ke ce soit a cauz de dev c++?

si kelkun a une autre methode pour faire bouger un serpent avec les touches du clavier... g tjs la possibilité d'utiliser une bibliotheque graphik ki arrange les choz mais g envie de le faire en mode console...
0
Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012
17 juil. 2004 à 03:39
En tout cas si tu avais jeter un coup d'oeil sur le lien je viens juste de m'en rendre compte msdn te dit :

Return Value : This function has no return value.

Dans quel but veux tu utilsier ta fonction.

he keybd_event function synthesizes a keystroke. The system can use such a synthesized keystroke to generate a WM_KEYUP or WM_KEYDOWN message.

Nexus
0
kornetmuse Messages postés 38 Date d'inscription samedi 17 juillet 2004 Statut Membre Dernière intervention 19 octobre 2010
17 juil. 2004 à 03:44
ah bah g regardé mais seulement les codes des touches :D

mais la c pur faire changer le serpent de direction en fonction de la touche sur lakel il a appuyé... javais essayé avec kbhit et getchar mais c tout caca en mode text paske t obligé d'appuyé sur entrée :S.. en plus g po envie de me mettre a SDL pour le moment et g po non plus envie de booter sous linux pour utiliser ma bibliothek graphik :( mais je crois ke je v etre obligé :S

merci kan meme en tout cas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012
17 juil. 2004 à 03:48
ok moi ce que je ferais (sous windows, sous linux utilise la bibliotheque ncurses.h) je mettrai un getch du style

int touche;

touche = getch();

switch( touche )
{
case w:
//Aller en haut
break;
case x;
//Aller en bas
break;
case y:
//Aller a droite
break;
case z:
//Aller a gauche
break;
default:
break;
}

Un exemple simple mais qui devrait surement marcher

Nexus
0
kornetmuse Messages postés 38 Date d'inscription samedi 17 juillet 2004 Statut Membre Dernière intervention 19 octobre 2010
17 juil. 2004 à 03:53
erf non mais ca bien sur je suis pas completement teubé non plus :) mais ca impose au serpent un arret... il ne pe pas continuer ds la meme direction si on appuie pas sur la touche correspondante... et en plus on est obligé d'appuyé sur entrée apres w x y ou z.. ;)
0
Steph115 Messages postés 163 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 3 février 2012
17 juil. 2004 à 04:00
Tu n'es pas oblige d'appuyer sur entree mais c vrai ca fait une pause au serpent héhé j'y avais pas pense :D enfin bon c normal vu l'heure qu'il est je pense je vais aller faire dodo tient si tu veux m'aider sur une autre question que je me pose c'est ici : Forum

Je pense pas t'aider trop la dessus car je m'y connais pas bcp.
mais il y a pas moyen de faire un truc du style tant qu'aucune touche n'est enclenche le serpent avance et si une touche est enclenchee ...
Enfin bon je pense que tu y avait deja pense ;)

Nexus
0
kornetmuse Messages postés 38 Date d'inscription samedi 17 juillet 2004 Statut Membre Dernière intervention 19 octobre 2010
17 juil. 2004 à 14:04
bouah c pas grave je v relancer linux et le faire avec ma biblio graphik la ya po de soucis pour le faire :) mais je ne pourais pas boC en musik :) merci kan meme en tout cas.. je v jeter un oeil au forum mais je te promet rien.. je viens seulement de finir ma premiere année d'info :D
0
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
18 juil. 2004 à 11:29
essai ça

int touche;

while(kbhit()) getch(); //a mettre au debut du prog pour vider lebuffer clavier (fflush() bug chez moi, ça c'est du sur
....

if(kbhit()){
touche = getch();

switch( touche )
{
case w:
//Aller en haut
break;
case x;
//Aller en bas
break;
case y:
//Aller a droite
break;
case z:
//Aller a gauche
break;
default:
break;
}
}

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
0
Rejoignez-nous