[R] Différence entre ControlClick/MouseClick et clique.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

[R] Différence entre ControlClick/MouseClick et clique.

#1

Message par blacksoul305 »

Bonsoir,

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 !
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.
Lien de la source.
Modifié en dernier par blacksoul305 le jeu. 05 juin 2014 18:42, modifié 1 fois.
Étudiant en 2ème année de Licence Informatique.
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Différence entre ControlClick/MouseClick et clique.

#2

Message par blacksoul305 »

Bonsoir,

après avoir fait plusieurs tests sur diverses applications (de téléchargement, navigateurs et même jeux), je me rends compte que les commandes fonctionnent sauf sur la simulation.

Après créé un sujet sur le forum US, j'ai néanmoins appris que la différence venait de l'endroit où était généré le clique, à savoir au niveau des pilotes de la souris pour les cliques manuels et au niveau de Windows au niveau des MouseClick/ControlClick.

Merci pour l'attention portée à mon problème

PS : Si jamais vous avez des idées sur comment simuler des cliques au niveau du pilote de la souris lui même, cela m'aiderait beaucoup pour avancer le projet.
Étudiant en 2ème année de Licence Informatique.
Répondre