[R] Empêcher la souris d'aller sur une région

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

[R] Empêcher la souris d'aller sur une région

#1

Message par Rancar »

Bonsoir,

Comment empêcher la souris d'aller dans une région de l'écran ?
J'ai essayé ceci, mais ça ne fonctionne pas super bien et ça m'oblige à faire un AdlibRegister("Cursor",10) trop souvent

Code : Tout sélectionner

Func Cursor()
    $cursor = GUIGetCursorInfo()
        If $cursor[0] > x And $cursor[0] < y Then
            If $cursor[1] > x And $cursor[1] < y Then
                MouseMove(1,1)
            EndIf
        EndIf
EndFunc
Merci d'avance :)
Modifié en dernier par Rancar le sam. 07 déc. 2013 12:05, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Empêcher la souris d'aller sur une région

#2

Message par jguinch »

Tu devrais essayer avec MouseGetPos à la place de GUIGetCursorInfo.
Sinon, pour éviter le AdlibRegister, tu peux regarder du côté de _MouseSetOnEvent (j'ai pas testé, mais si ça marche ça sera plus propre)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Empêcher la souris d'aller sur une région

#3

Message par TommyDDR »

Vous voulez interdire une zone de l'écran ou un contrôle de votre GUI ?
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Empêcher la souris d'aller sur une région

#4

Message par Rancar »

TommyDDR a écrit :Vous voulez interdire une zone de l'écran ou un contrôle de votre GUI ?
A vrai dire c'est une GUI qui fait tout l'écran, ce qui revient au même je pense ^^
jguinch a écrit :Tu devrais essayer avec MouseGetPos à la place de GUIGetCursorInfo.
Sinon, pour éviter le AdlibRegister, tu peux regarder du côté de _MouseSetOnEvent (j'ai pas testé, mais si ça marche ça sera plus propre)
Merci beaucoup, c'est exactement ce dont j'avais besoin :D

Ce qui donne (si ça intéresse quelqu'un) :

Code : Tout sélectionner

#include "MouseOnEvent.au3"

_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, "_MousePrimaryDown_Event", 0, -1)

Func _MousePrimaryDown_Event()
    Global $iLimit_Coord_Left       = 1000
Global $iLimit_Coord_Top        = 953
Global $iLimit_Coord_Width      = 1088
Global $iLimit_Coord_Height     = 1023
    Local $aMPos = MouseGetPos()

    If ($aMPos[0] >= $iLimit_Coord_Left And $aMPos[0] <= $iLimit_Coord_Left + $iLimit_Coord_Width) And _
        ($aMPos[1] >= $iLimit_Coord_Top And $aMPos[1] <= $iLimit_Coord_Top + $iLimit_Coord_Height) Then Return 1 ;Block mouse click

    Return 0
EndFunc
Petit détail : Chez moi, ça fonctionne seulement si le script est compilé en x86 ^^

Encore merci :mrgreen:

J'ai une autre question, à propos d'un bouton d'une GUI qui ne semble pas fonctionner... Je peux la poster ici ou j'ouvre un nouveau sujet? :)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Empêcher la souris d'aller sur une région

#5

Message par mikell »

[R] ici et nouveau sujet
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [R] Empêcher la souris d'aller sur une région

#6

Message par Rancar »

Voilà qui est fait, merci ^^
Répondre