Bonjour,
En reprenant votre exemple du départ:
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=C:\Users\lucas\Desktop\test.kxf
Global $Form1 = GUICreate("test", 180, 217, 377, 174)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
Global $Button1 = GUICtrlCreateButton("start", 0, 120, 89, 41)
GUICtrlSetOnEvent(-1, "Button1Click")
Global $Button2 = GUICtrlCreateButton("stop", 88, 120, 89, 41)
GUICtrlSetOnEvent(-1, "Button2Click")
Global $Pic1 = GUICtrlCreatePic(@DesktopDir, 0, 8, 177, 97)
Global $Button3 = GUICtrlCreateButton("quitter", 0, 168, 177, 41)
GUICtrlSetOnEvent(-1, "Button3Click")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
global $tab = False, $a = 0
While 1
Sleep(100)
If $tab Then
tab()
EndIf
WEnd
Func Button1Click() ;bouttont start
$tab = True
EndFunc ;==>Button1Click
Func Button2Click() ;boutton stop
$tab = False
EndFunc ;==>Button2Click
Func tab()
$a = $a + 1
ToolTip(">>> "& $a,100,200)
Send("{TAB}")
Sleep(1000)
EndFunc
Func Button3Click() ;boutton quitter
Exit
EndFunc ;==>Button3Click
Func Form1Close() ;croix rouge
Exit
EndFunc ;==>Form1Close
Dans ce cas, nous sommes en Opt("GUIOnEventMode", 1), c'est à dire que les commandes sont passées par GUICtrlSetOnEvent(-1, "Button1Click") par exemple
La boucle While 1 sert à faire tourner indéfiniment le script jusqu'au moment GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
Dans l'exemple de foliolur , nous sommes en Opt("GUIOnEventMode", 0) ou sans de précision, c'est à dire que les commandes sont passées à l'intérieur de la boucle While 1 dont on peut sortir avec un exit ou un exitloop
Dans votre exemple, vous sortez de la première boucle par le button1 et vous rentrez dans la deuxième boucle mais sans condition de sortie et donc elle tourne sans fin et bloque tout.