C'est pourtant pas si compliqué !
Il faut juste :
1/ Passer les coordonnées de la souris en mode relatif a la fenetre en cours
2/ vérifier que la fenetre est active
3/ si oui vérifier que la souris ne dépasse pas les bords soit <0 soit >largeur/hauteur de la fenetre
4/ si tel est le cas, la forcer a revenir
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Dim $MousePos[2]
Opt("MouseCoordMode", 0) ;1/ Passer les coordonnées de la souris en mode relatif a la fenetre en cours
$LargeurForm = 200
$HauteurForm = 200
$NomDuForm = "Formulaire"
$Form1 = GUICreate($NomDuForm, $LargeurForm, $HauteurForm)
$Button1 = GUICtrlCreateButton("Sortir", 67, 87, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Exit
EndSwitch
If WinActive($NomDuForm) Then ; 2/ vérifier que la fenetre est active
$MousePos = MouseGetPos() ; 3/ si oui vérifier que la souris ne dépasse pas les bords soit <0 soit >largeur/hauteur de la fenetre
If $MousePos[0] < 0 Then $MousePos[0] = 0
If $MousePos[0] > $LargeurForm Then $MousePos[0] = $LargeurForm
If $MousePos[1] < 20 Then $MousePos[1] = 20
If $MousePos[1] > $HauteurForm + 20 Then $MousePos[1] = $HauteurForm + 20
MouseMove($MousePos[0], $MousePos[1], 1) ; 4/ si tel est le cas, la forcer a revenir
EndIf
WEnd