J'ai un script où j'ai défini quelques touches de raccourci. Chacun d'eux devrait simuler un clic de souris dans une position définie (il y a des boutons poussoirs, je définis la position dans le fichier INI).Autoit ouvre la carte quand il utilise MouseClick()
J'ai un problème avec un bouton - généralement, quand je simule un clic de souris sur mon script, tout est OK, mais quand je veux cliquer sur ce bouton en même temps, quand il est pressé, une nouvelle carte est ouverte dans le navigateur Web.
Lorsque j'utilise ma souris manuellement et que je clique sur ce bouton problématique, la nouvelle carte ne s'ouvre pas.
Je ne peux pas trouver comment résoudre ce problème - j'essayé trouver, si elle est possibble pour verrouiller la possibilité d'ouvrir de nouvelles cartes ou quelque chose comme ça, mais je ne trouve rien ...
Tous les raccourcis clavier I ont défini dans deux illustrations:
Global $HotKeyArrayHotKeys[] = [ "^1", "^2", "^3", "^4",... ]
Global $HotKeyArrayLabels[] = [ "A", "B", "C", "D",... ]
étape suivante fait un vecteur de structures:
For $i = 0 To $MaxInd-1 $HotKeyArray[$i] =
DllStructCreate($StructHotKey)
DllStructSetData ( $HotKeyArray[$i], "HotKey", string($HotKeyArrayHotKeys[$i]))
DllStructSetData ( $HotKeyArray[$i], "Label", string($HotKeyArrayLabels[$i]))
Next
définition de structure:
Global Const $StructHotKey = "struct;CHAR HotKey[3];CHAR Label[12];INT X;INT Y;INT CheckBoxNr;INT DataNumber;endstruct"
Hotkeys: Activation
For $i = 0 To $MaxInd
HotKeySet(DllStructGetData ($HotKeyArray[$i], "HotKey")) ;
Next
et la fonction ouverte par les:
Func UniversalFunc()
If @HotKeyPressed == DllStructGetData ($HotKeyArray[0], "HotKey") Then
MouseClick("left", DllStructGetData ($HotKeyArray[0], "X"), DllStructGetData ($HotKeyArray[2], "Y"), 1, 1)
Return 0
EndIf
For $i = 0 To $MaxInd-1
If @HotKeyPressed == DllStructGetData ($HotKeyArray[$i], "HotKey") Then
MouseClick("left", DllStructGetData ($HotKeyArray[0], "X"), DllStructGetData ($HotKeyArray[2], "Y"), 1, 1)
Sleep(50)
MouseClick("left", DllStructGetData ($HotKeyArray[$i], "X"), DllStructGetData ($HotKeyArray[$i], "Y"), 1, 7)
Return 0
EndIf
Next
Return 0
EndFunc
positions X et Y sont chargés de fichier INI.
Le modificateur de contrôle gâche-t-il les choses? Lorsque vous faites votre test manuel, maintenez ctrl pour voir si vous obtenez les mêmes résultats. – Trevor
Oui ... c'est un problème ... Je vois, que seulement ce bouton a un comportement différent lorsque vous appuyez sur ctrl ... Merci pour votre aide! –