Bonjour,
j'aimerai pouvoir gérer les evenements au claver en C++, je n'ai pas trouver comment le faire dans les tutoriaux.
Pouvez vous me donner un exemple ou un tutorial qui me le montre ?
merci
mavina
Bonjour,
j'aimerai pouvoir gérer les evenements au claver en C++, je n'ai pas trouver comment le faire dans les tutoriaux.
Pouvez vous me donner un exemple ou un tutorial qui me le montre ?
merci
mavina
Il n'y a rien en C++ standard pour faire ceci. Utilises-tu une bibliothèque? Si oui peut-être qu'elle gère les entrées claviers. Va voir sur ta doc.
Sinon on peut citer pour Windows l'API Win32, ou si tu cherches la portabilité SDL, wxWidget et j'en passe. Regarde aussi sur ce site et ce forum.
A+![]()
donc je dois trouver une bibliotheque car c++ ne le gere pas en standard ?
Je débute un peu en C++ donc que me conseillez vous comme bibliothèque ? Comment l'instaler et avoir la documentation ?
Je programme sous visual C++...
Mon but est de récupérer ce qui est écrit au clavier et de l'enregistrer dans un fichier.
Merci d'avance
mavina
Souvent, les bibliothèque sui gèrent ainsi un clavier gèrent aussi du graphique :
http://c.developpez.com/faq/cpp/?pag...GENERALITE_gui
A part ça, si tu veux un programme en mode console, il y a la bibliothèque curses, et si tu te moques de la portabilité, il y a des fonctions windows pour, genre _kbhit.
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
si tu utilises Visual, et que tu peux utiliser les fonctions de l'API Windows et les MFC par exemple, c'est assez simple.
Mais, je te conseille de poster dans le forum Visual, et aussi de donner plus de renseignements sur ton application : mode graphique / console, utilisation ou pas des MFC, etc...
Si tu es en mode graphique et que tu utilises les MFC, alors il te faudra surement gérer l'évènement WM_CHAR.
Bon courage.
ca dépend aussi si tu veux gérer les evenements claviers en dehors de ton appli. Dans ce cas là, tu peux utiliser les Hooks claviers et souris. Il y a un tres bon exemple en C++ builder sur developpez.com![]()
Parles-tu des code ASCII?gérer les evenements au claver en C++
http://www.cplusplus.com/doc/papers/ascii.html
le plus simple c'est d'attendre des precisions sinon nous allons refaire le monde![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
alors en fait le but de mon application est d'enregistrer tout ce qui est écrit au clavier, et ce peu importe la fenettre, ce ne sera donc pas une application graphique mais une application en ligne de commande.
Elle ne fera que ca, lorsqu'elle recupere un évenement au clavier, par exemple appui sur la touche 'e' , elle insérera le char 'e' dans un fichier qu'elle aura pris en parametre du programme, et qu'elle aura créé s'il n'existe pas.
Voila J'ai vu des trucs interressants :
Pourrais tu me donner un tuto qui explique comment les utiliser, ou m'expliquer ?si tu utilises Visual, et que tu peux utiliser les fontions de l'API Windows et les MFC par exemple, c'est assez simple.
Merci de vos réponses
mavina
dans ce cas, il faut utiliser un hook global
le principe est expliqué rapidement dans la FAQ (avec un exemple) http://c.developpez.com/faq/vc/?page...s#HookKeyboard
La reception d'evenements claviers est associée à la notion de focus : seule une application à la fois peut avoir le focus et recevoir les entrées clavier + souris. C'est le comportement standard.
Dans ton cas, il faut passer par un autre mécanisme, celui du hook qui va intercepter toutes les touches entrées.
http://tcharles.developpez.com/simul/#quoi
Envoyé par Aurelien.Regat-Barrel
parfait, quand je compile ca me donne un fichier .dsp un fichier .ncb et un fichier .dsw et un fichier .opt, lequel je renomme en .dll ?
merci
mavina
regarde plutot dans les repertoires release ou debug, et n'oublie pas le .lib
dans le repertoire debug ya un .obj un .pch un .idb et un .pdb
lequel ? ;p
il n'y a rien à renommer.
La dll sera générée comme il faut.
Il faut regarder où la dll est compilée
dans les Project-->settings --> link --> output file name (sous VC++6)
pour qu'il veuille me le compiler j'ai du rajouter un main :\
ca n'influera pas sur mon dll a la fin ?
Euh... Normalement il n'y a pas de main() dans une DLL... TU es sûr que tu n'essaies pas de créer un exécutable?
PS: Il peut bien y avoir un DllMain() dans une DLL, mais c'est optionnel...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Tu dois sûrement être en train de compiler pour un exécutable et non pour une bibliothèque !
mais comment compiler pour une bibliotheque ?
apres avoir suivi le FAQ avec MFC AppWizzard (dll)
quand je compile ca me fait une erreur :
Que faire ? :\--------------------Configuration: testdll - Win32 Debug--------------------
Compiling...
testdll.cpp
d:\...\dll\testdll\testdll.cpp(102) : fatal error C1010: unexpected end of file while looking for precompiled header directive
Error executing cl.exe.
testdll.dll - 1 error(s), 0 warning(s)
merci
mavina
Partager