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

Signaler
Messages postés
6
Date d'inscription
mercredi 12 novembre 2008
Statut
Membre
Dernière intervention
1 décembre 2008
-
Messages postés
6
Date d'inscription
mercredi 12 novembre 2008
Statut
Membre
Dernière intervention
1 décembre 2008
-
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

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
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.
Messages postés
6
Date d'inscription
mercredi 12 novembre 2008
Statut
Membre
Dernière intervention
1 décembre 2008

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 )
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
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.
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
59
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-
Messages postés
6
Date d'inscription
mercredi 12 novembre 2008
Statut
Membre
Dernière intervention
1 décembre 2008

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