Suite à la demande de mycleo je commente un peu

(commentaires au dessus de chaque nom de procédure)
Code : Tout sélectionner
Enumeration
#D_Bas ; Bouton de droite
#D_Haut
#D_Click
#D_DoubleClick
#G_Bas ; Bouton de gauche
#G_Haut
#G_Click
#G_DoubleClick
#M_Bas ; Bouton du milieu
#M_Haut
#M_Click
#M_DoubleClick
EndEnumeration
; Gère les clicks des souris (appelée par MouseClick)
Procedure MouseEvent(Ereignis.l)
Mem.l=GlobalAlloc_(0,8)
GetCursorPos_(Mem)
mouse_event_(Ereignis | $8000,PeekL(Mem)*($FFFF/GetSystemMetrics_(0)),PeekL(Mem+4)*($FFFF/GetSystemMetrics_(1)),0,GetMessageExtraInfo_())
GlobalFree_(Mem)
EndProcedure
; Appelle MouseEvent() en fonction de la demande des utilisateurs
Procedure MouseClick(Option.b)
Select Option
Case #G_Bas
MouseEvent($2)
Case #G_Haut
MouseEvent($4)
Case #G_Click
MouseEvent($2)
MouseEvent($4)
Case #G_DoubleClick
MouseEvent($2)
MouseEvent($4)
MouseEvent($2)
MouseEvent($4)
Case #D_Bas
MouseEvent($8)
Case #D_Haut
MouseEvent($10)
Case #D_Click
MouseEvent($8)
MouseEvent($10)
Case #D_DoubleClick
MouseEvent($8)
MouseEvent($10)
MouseEvent($8)
MouseEvent($10)
Case #M_Bas
MouseEvent($20)
Case #M_Haut
MouseEvent($40)
Case #M_Click
MouseEvent($20)
MouseEvent($40)
Case #M_DoubleClick
MouseEvent($20)
MouseEvent($40)
MouseEvent($20)
MouseEvent($40)
EndSelect
EndProcedure
; Envoi la souris au point AX,AY à partir des points DX,DY avec VX et VY comme vitesse de déplacement et Delay = temps entre chaque déplacements
Procedure MouseMove(dx.l,dy.l,AX.l,AY.l,VX.l,VY.l,Delay.l)
; Arguments : Depart X - Depart Y - Arrivée X - Arrivée Y - Vitesse X - Vitesse Y - Temps d'attente entre deux boucles)
If dx - AX > 0 ; Si on va vers la gauche
SensX = 1
EndIf
If dy- AY > 0 ; Si on va vers le haut
SensY = 1
EndIf
Repeat
If SensX = 1
If dx > AX
dx - VX
Else
dx = AX
EndIf
Else
If dx < AX
dx + VX
Else
dx = AX
EndIf
EndIf
If SensY = 1
If dy > AY
dy - VY
Else
dy = AY
EndIf
Else
If dy < AY
dy + VY
Else
dy = AY
EndIf
EndIf
SetCursorPos_(dx,dy)
If dx = AX And dy = AY : Break : EndIf
Delay(Delay)
ForEver
EndProcedure
; Envoi la souris de la position où elle se trouve au point AX,AY avec VX et VY comme vitesse de déplacement et Delay = temps entre chaque déplacement.
Procedure MouseMoveEx(AX.l,AY.l,VX,VY,Delay)
GetCursorPos_(Pos.POINT)
MouseMove(Pos\x,Pos\y,AX,AY,VX,VY,Delay)
EndProcedure
; Fait tourner la souris autour des points AX,AY avec Taille pour Rayon et temp = temps entre chaque déplacement. (fonction faite par dobro)
Procedure Mousesignal(AX.l,AY.l,taille,temp)
GetCursorPos_(Pos.POINT)
xr=Pos\x:yr=Pos\y
For compt=1 To temp
x=taille * Cos( compt) + (AX.l )
y=taille * Sin( compt) + (AY.l)
MouseMove(x,y,x+1,y+1,10,10,10)
Next compt
MouseMove(x,y,xr,yr,8,8,2)
EndProcedure
Mousesignal(500,500,20,50)
MouseMoveEx(10,760,5,5,20)
MouseClick(#G_Click)
MouseMoveEx(310,710,5,1,20)
MouseClick(#G_Click)
MouseMoveEx(650,372,5,5,20)
MouseClick(#G_Click)
Coilà, j'espère avoir répondu à tes questions, si tu veux des renseigements précis dis le moi (je ne savais pas trop qui commenter)