Captures des touche de clavier et les renvoyer a un autre programme

rgomri Messages postés 6 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 1 décembre 2008 - 26 nov. 2008 à 11:29
rgomri Messages postés 6 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 1 décembre 2008 - 27 nov. 2008 à 09:35
bonjour tout le monde
je suis nouveau ici et debutant c#
voila mon probleme,je cherche a capturer la combinaison de touche tapé par l'utilisateur (programme qui doit tourner en arriere plan)
essentiellement un chiffre entre 1 et 200 ,et pour chaque chiffre tapé le programme renvoie au systeme un code clavier
exemple
si je tape 55  le systeme recevra une entrée clavier par exemple ABCD
mon probleme est le suivant :
comment faire tourner le programme en arriere plan
comment recuper les touches appyé au clavier
comment envoyer un code specifique au systeme et qui soit interpreté comme un vrai appuie physique

j'ai essaye de faire ce programme avec autohotkey pour ceux qui conaissent mais sur des programmes ca marche et sur d'autres ne marchent pas (celui que je veux ne marche pas )

merci de votre aide et j'espere que je me suis bien exprimé

5 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
26 nov. 2008 à 14:58
Salut, si tu dois récupérer les frappes du clavier lorsque ton application est en arrière plan voir masquée, il faut utiliser un hook ( voir la fonction SetWindowsHookEx ) ou l'API  RawInput et voir la fonction SendInput pour simuler une frappe vers une autre application.
0
rgomri Messages postés 6 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 1 décembre 2008
26 nov. 2008 à 15:57
merci pour ta reponse
peut tu donner plus d'explication (excuse moi je suis debutant et msdn ce n'est pas tres detaillé pour moi )
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
26 nov. 2008 à 16:33
C'est assez compliqué pour un débutant vu que SetWindowsHookEx et SendInput ne sont pas des fonctions du framework mais de l'API Win32 ( qui n'est pas du code managé ). Fais une recherche dans le forum avec comme mot clé le nom de ces fonctions, tu trouveras bcp d'exemples.
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
26 nov. 2008 à 23:14
Une application qui tourne en arrière plan... pour relever des chiffres....
Comme des mots de passes? Numéro de carte bancaire par exemple?

<hr />
-Blog-
-Site Perso-
0

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

Posez votre question
rgomri Messages postés 6 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 1 décembre 2008
27 nov. 2008 à 09:35
non rassure toi
en fait c'est une application qui tournait sur un clavier programmable tu clique sur une touche et il envoie un code genre tu tape la touche 1 et il envoie ABC
le probleme le clavier est cassé et son prix est trop cher (dans les 400 € pour 100touches programmables )
alors je me  suis dit que je vais le faire en soft
je l'ait fait avec autohotkey mais ce n'est pas le top ,des fois il envoi un mauvais code...  puisque il ne fait pas la difference entre 5 ,55 et 555 ou meme 5 puis 4 (54) et apres un autre chifre genre 3 apres avoir envoyé le bon code il renvoie un autre code 543 ...
bref si quelq'un peut m'eclaircir  comment capter une touche et comment envoyer une touche je pense je m'en sortirais avec c# qui lui au moins est un vrai langage de programmation ...
voila le code en autohotkey
il renvoie pour unappuie sur 2 puis entré il renvoie le code a2
:zb0:2::

{keywait ,ENTER,d,t0.3

if ErrorLevel =0

{

Send a

sleep 200

send 2

return

}

else ErrorLevel =1

}

merci de votre aide
0
Rejoignez-nous