aujourd'hui je viens vous faire part d'un de mes problèmes que je rencontre actuellement et qui reste à la fois sans solution ni explication.
Je travaille sur un système de pointage avec pour support une application composée essentiellement d'une GUI et d'un control typé Flash donc déjà assez compliqué à utiliser d'ordinaire.
Au début je mettais en doute le fait qu'AutoIt n'arrivait pas à détecter le contrôle qui m'intéresse néanmoins avec un simple test, j'ai remarqué qu'il me donnait bien son Handle, j'en ai donc conclu qu'AutoIt le détectait et qu'il interagissait avec.
Cela dit, l'application restaient indifférente face aux différents cliques effectués via ControlClick. J'ai donc voulu opter pour une solution moins propre, moins efficace c'est à dire effectuer les cliques via MouseClick. Seulement là non plus, l'application ne détectait rien.
Après une série de tests, j'ai pu en conclure les choses suivantes :
- les cliques via ControlClick et MouseClick, et les MouseMove ne sont pas détectés (ou pas pris en compte) par l'application.
- Les MouseClick et MouseMove sont cela dit biens effectués quand l'application se trouve en arrière plan, réduite ou fermée.
- L'application détecte tous les cliques et mouvements quand je clique moi même sur ma souris.
Je n'ai donc aucune autre sortie de secours, et je reste aussi sans explication à cela. D'où ma question. Quelle est la différence entre les cliques effectués par moi avec ma souris, et ceux effectués par AutoIt via ces deux commandes ?
Avec des recherches j'suis tombé sur une définition qui revenait assez souvent et dont je n'ai pas tout compris, je vous demande donc de bien vouloir m'éclairer.
Merci d'avance !
Lien de la source.Assuming you're referring to WinForm Control events, from the MSDN documentation for Control.Click:
The Click event passes an EventArgs to its event handler, so it only indicates that a click has occurred. If you need more specific mouse information (button, number of clicks, wheel rotation, or location), use the MouseClick event. However, the MouseClick event will not be raised if the click is caused by action other than that of the mouse, such as pressing the ENTER key.

