En feuilletant la documentation je n'ai pas trouver ma réponse.
Je possède une infrastructure anti-virus que j'auto-gère via AutoIT. L'une de ses fonctionnalités est le clic automatique (précisément sur mon second écran) à la détection d'une menace lançant un scan automatique (Kaspersky).
Hors voilà ma problématique : Je développe aussi, et à chaque clic, malgré que la fonction MouseMove() me permette de retourner à la position initiale de la souris, la difficulté vient du fait que si je suis en train de saisir du texte (exemple, en écrivant ce sujet, ou sous notepad++, Scite ou autre), je perd le focus, ce qui m'oblige à cliquer à nouveau sur la zone de saisie pour recommencer à taper.
Je souhaiterais donc savoir s'il existe un moyen sous AutoIT de capturer le focus textuel pour le rétablir, afin que l'opération automatisée devienne transparente. Existe-t-il un moyen de mettre ça en place ?
Si non, est-ce que la fonction ControlClick permettrait de résoudre cette problématique (en agissant comme une seconde souris virtuelle, invisible et n'impactant ainsi pas la saisie utilisateur ?) ?
EDIT : Je me permet d'éditer après avoir tester ControlClick.
Tout d'abord je ne dois pas rendre la fenêtre active avec WinActivate(), sinon je perd l'utilité de ControlClick.
Voici mon code :
$hwnd = WinGetHandle("Kaspersky") ; Renvoi une valeur hexadecimal
$u = ControlClick($hwnd, "", "","left", 1, 791, 906) ; Position du bouton à appuyer en partant du principe que x = 0 & y = 0 équivaut au coin supérieur gauche de la fenêtre de Kaspersky, et non de l'écran.
$u = ControlClick($hwnd, "", "","left", 1, 791, 906) ; Position du bouton à appuyer en partant du principe que x = 0 & y = 0 équivaut au coin supérieur gauche de la fenêtre de Kaspersky, et non de l'écran.
- Aucun clic lorsque ma souris est en dehors de la fenêtre.
- Lorsque ma souris est sur la fenêtre, le clic s'effectue à l'endroit de la souris, et non ailleurs.
Qu'est ce que je fais de mal ?