cs_Myke
Messages postés138Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 2 février 2010
-
29 janv. 2008 à 23:47
cs_Myke
Messages postés138Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 2 février 2010
-
30 janv. 2008 à 17:56
Je ne suis pas expert en KeyCode et code asccii. Mais ce que j'éssaie de faire semble compliquer. Il faut que je simule l'envoie du POINT du PAVÉ NUMERIQUE et non le point sur le clavier. J'ai récuper les KeyCode et celui du clavier numérique est égal a 110. J'ai regarder la class My.Computer.Keyboard.SendKeys() mais je n'ai pas trouvé comment.
cs_Myke
Messages postés138Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 2 février 2010 30 janv. 2008 à 01:18
J'ai déjà essayé cette technique. Le logiciel que je veux controler fait une distinction entre le decimal sur le clavier et le decimal sur le pavé numerique. Comment fait-on pour convertir le keycode. J'ai tenté de faire My.Computer.Keyboard.SendKeys(chr(keys.decimal)) et cela retourne "n"
J'ai recherché sur internet et j'ai appris que chaque touche déclenche un "scancode" est-ce que tu peux m'en dire plus ?
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 30 janv. 2008 à 08:06
Il semble qu'il ne soit aps possible de gérer cela directement en VB.
Il va falloir passer par un appel à une API donc ? Je dois avouer que je ne sait pas laquelle il faut utiliser dans ce cas.
Si un spécialiste de l'API WIN32 passe par la, je lui laisse la main ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 30 janv. 2008 à 08:21
Bonjour,
Le vrai problème vient du fait que tu utilises le Keycode (110 pour le point du pavé numérique) et 16 pour l'autre... et que tu cherches ensuite à "envoyer" ces valeurs par un sendkeys en passant un chr() qui, lui, transmet des valeurs ascii (différentes des keycodes, donc).
Sendkeys chr(110) enverra le caractère de code ascii 110 .... donc n.... et non le caractère de code (keycode) 110 qui est le point du pavé numérique, dont la valeur ascii est, quant à elle, 46
Ton problème ? autant les 2 points (pavé numérique et autre) ont 2 codes/touche différenciés (110 et 16), autant leur valeur Ascii est la même (46) ... or Sendkeys ne te permet d'utiliser que les valeurs ascii.