cs_edd
Messages postés1Date d'inscriptiondimanche 3 mars 2002StatutMembreDernière intervention13 mars 2002
-
13 mars 2002 à 22:12
PatriceVB
Messages postés562Date d'inscriptiondimanche 16 décembre 2001StatutModérateurDernière intervention26 décembre 2007
-
20 mars 2002 à 21:40
qqn pourrait-il m'expliquer comment simuler l'effet de l'appui d'une touche du clavier sans l'appuyer (le programme s'exécute comme si l'utilisateur avait pressé la touche).
merci de votre coopération.
[mailto:ed.s@ifrance.com mailto:ed.s@ifrance.com]
PatriceVB
Messages postés562Date d'inscriptiondimanche 16 décembre 2001StatutModérateurDernière intervention26 décembre 2007 14 mars 2002 à 17:47
C simple, il suffit d'utiliser l'instruction SendKeys.
Pour voir sa syntaxe va dans l'aide de vb. cette instruction permet de simuler l'appui d'une touche, comme tu le veux.
@+
Si tu veux un code précis correspondant à ce que tu veux, réponds à ce message.
lutinpitchoune
Messages postés10Date d'inscriptionjeudi 14 mars 2002StatutMembreDernière intervention 1 octobre 2002 15 mars 2002 à 10:24
salut,
Je voudrais utiliser sendkeys pour piloter un programme qui tourne dans une fenêtre dos sous windows. Quand j'essaye avec COMMAND.EXE tout se passe bien, par contre avec mon programme, qui s'appelle LIGNE.EXE, je ne peux rien faire, sauf le lancer avec SHELL. Quand j'envoie des touches, le prompt a un sursaut mais sans effet.
J'ai pas super compris comment préciser où je veux envoyer mes touches (avec COMMAND.EXE ca marche que si je place la souris sur la fenêtre dos).
Peux tu m'aider là dessus, pour diriger l'envoie des touches, et savoir si pour simuler l'appui sur la touche Entrée il y a d'autre instruction que {ENTER} ou {~}, qui pourraient être attendu par mon programme?
PatriceVB
Messages postés562Date d'inscriptiondimanche 16 décembre 2001StatutModérateurDernière intervention26 décembre 2007 15 mars 2002 à 13:09
Pour envoyer des frappes de touche a une appli, il faut qu'elle ait le focus. Pour mettre le focus dessus, tu peux utiliser l'instruction appactivate.
Ensuite t'as qu'a faire tes simulations.
Pour entrée
sendkeys {enter}
lutinpitchoune
Messages postés10Date d'inscriptionjeudi 14 mars 2002StatutMembreDernière intervention 1 octobre 2002 18 mars 2002 à 14:00
J'ai essayé plusieurs façon pour lui envoyer les instructions mais il ne comprend rien de rien.
Quand j'essaye avec CMD.EXE, ça marche, sauf que j'arrive pas à activer le focus, il faut toujours que je place la souris sur la fenêtre dos, sans pourtant devoir cliquer.
Je vois vraiment pas où est l'erreur. Je te donne le code de la macro que j'utilise, peux tu me dire si je me trompe quelque part?
-------------------------
Sub ExeTS()
' ExeTS Macro
Dim MyAppID
MyAppID = Shell("C:\Verif2002\Prog\ligne.exe", 1)
AppActivate MyAppID
SendKeys "{enter}", True 'on est dans le programme
MsgBox "le fenetre active s'apelle " & ActiveWindow.Caption 'test de AppActivate
End Sub
-------------------------
Résultats : Si je mets la souris sur la fenêtre dos, au bout des 2 secondes le prompt a un sursaut, mais rien ne se passe. Le programme est pourtant lancer correctement car si j'appuie sur Entrée, ça marche. Enfin dernière chose, le MSgbox me dit que l'application active est mon application excel, que je le fasse avant ou après Sendkeys.
Tu y comprends qqchose???
Lutin Pitchoune pour vous servir.
Vous n’avez pas trouvé la réponse que vous recherchez ?