Instruction Sendkeys qui ne s'exécute pas correctement

Cjvg - Modifié par Whismeril le 27/01/2015 à 19:29
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 28 janv. 2015 à 11:37
Bonjour,
.
Les instructions sendkeys qui s'exécutaient correctement depuis des années dans un de mes programmes ont cessées subitement de fonctionner.
.
A ce niveau, il y a quelque chose dans le presse papier
SendKeys "%(E)", True        ' E --> Edit 
SetCursorPos IposL, IposT
SendKeys "(O)", True          ' O -> Coller .

L'instruction Coller restitue un O
----------------------------------------------------------------------------------
.
Dans l'éditeur VB6
- Je saisie un mot clé
- Je le copie dans le Presse Papier
.
Dans un programme qui est en Wait
- 1) On récupère le contenu du Presse Papier
- 2) On récupère également les coordonnés du mot clé saisi dans l'éditeur
- 3) [On Recharge le presse papier avec le mot clé]
.
- 4) Un programme en Wait lance l'exécution d'un programme chargé d'analyser et traiter le mot clé.
. Ce programme remplace le mot clé du presse papier par des instructions VB.
- 5) On exécute les instructions Senkeys
. pour charger les instructions du presse papier dans l'éditeur VB.
.
1) PresPapier = Clipboard.GetText
2) GetCursorPos CursPos
2) IposL = CursPos.x
2) IposT = CursPos.y
3) Clipboard.SetText PresPapier
4) Call AppelApplication("OpenW", (.......... SourcesVb.exe))
.
' A ce niveau, il y a quelque chose dans le presse papier
5) SendKeys "%(E)", True ' E --> Edit
5) SetCursorPos IposL, IposT
5) SendKeys "(O)", True ' O -> Coller .
.
'SetCursorPos IposL, IposT
Call mouse_event(MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, IposL, IposT, 0, 0)

Par avance merci pour votre aide.

2 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 219
Modifié par ucfoutu le 27/01/2015 à 20:01
Bonjour,
Il est extrêmement aléatoire de "piloter" une autre application à "coups" de Sendkeys ...
Les SendKeys peuvent se comporter différemment sur des systèmes d'exploitation différents. En outre, cette méthode n'attend pas toujours le traitement des messages lorsqu'ils sont envoyés à un autre processus.
Méthode très peu orthodoxe et donc à éviter.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0
bonjour,
.
Je ne pilote pas une autre application.
.
L'application qui utilise les sendkeys reçoit d'un autre programme des instructions par l'intermédiaire du presse Papier.
Les Sendkeys jouent alors le rôle d'un "Copier" "Coller"
.
Cette mécanique fonctionnait depuis plusieurs années. Je n'ai pas modifié le programme. Il y a donc quelque chose en dehors de cette application qui provoque cette anomalie.
.
Merci pour votre aide.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 219
28 janv. 2015 à 11:37
C'est pareil. Le pilotage se faisant dans l'autre sens reste un pilotage.
0