[Dev C] Envoyer un caractère ASCII sur la sortie clavier

[Résolu]
Signaler
Messages postés
344
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
4 avril 2011
-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour à tous,

Je fais un prog qui récupère des données sur le port rs232 et qui les envoie sur la sortie clavier.
Il les récupère sous forme de chaines: "ARdeT654Drt".

J'arrive à envoyer des caractères sur la sortie clavier avec: keybd_event(touche,0,0,0);
Mais seulement "touche" fait partie d'une palette de variables déja définie comme "Virtual-Key Codes" qui n'ont rien à voir avec les codes ascii.

En gros, j'aimerais faire un truc du style:
for (i=0;i<strlen(buffer);i++) {
keybd_event(buffer[i],0,0,0);
keybd_event(buffer[i],0,KEYEVENTF_KEYUP,0);
}
Mais comme la palette de: "Virtual-Key Codes" s'arrete à 125 et que les codes ne correspondent pas, la chaine envoyée à la sortie clavier ne corresond pas du tout.

Y a t-il un moyen pour détourner ce pb de non-correspondance ?

Merci d'avance.

David, à VERSAILLES

7 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Voila c'est fait:
SIMULER LES TOUCHES CLAVIER
http://www.cppfrance.com/code.aspx?ID=34205

ciao...
BruNews, MVP VC++
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
Liste des VK codes de 0 à 254:http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/winui/winui/WindowsUserInterface/UserInput/VirtualKeyCodes.asp


les chiffres '0' à '9' et les lettres 'A' à 'Z' ont une correspondance directe. Pour distinction minuscule, majuscule il faut voir si c'est possible de jouer avec CAPS lock et SHIHFT
Messages postés
344
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
4 avril 2011
1
Je les connais ces codes.
Pour les majuscules c'est facheux mais si je me fait un tableau de correspondance, je peux y arriver...

Mais il faut aussi que je puisse mettre des caractères spéciaux: ()$^ùé"'(-è_ç!:;,@^\`|[{#~, ...)

Dans un monde idéal, j'aimerais faire:
metCeCaractèreDansLeTamponClavier('#');
Ou carément mieux:
metCetteChaineDansLeTamponClavier("Bonjour é"'(-è_654654654");

N'y a t-il pas moyen ?

David, à VERSAILLES
Messages postés
344
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
4 avril 2011
1
Aie,

Ton caode a l'air de convenir à ma demande, seuleùent, je travaille en Dev C (même pas C++), peux tu essayer de convertir ton code en C (ou le commenter pour que je m'y retrouve STP).

David, à VERSAILLES
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Mes codes sont toujours en C sur API Windows.

ciao...
BruNews, MVP VC++
Messages postés
344
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
4 avril 2011
1
Heu...

les npt.ki.dwExtraInfo ne sont pas du C++ ?

De plus, mon Dev ne connais pas la fonction: SendInput() qui fait partie de la lib user32.
Comment inclure cette bibliothèque ?

David, à VERSAILLES
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
L'accès aux champs d'une structure est idem en C comme C++.
J'ai vu plein de fois la réponse sur forum ou sources de comment inclure des libs dans devcpp mais je n'utilise que VS alors...

ciao...
BruNews, MVP VC++