J'ai un problème dont je n'arrive pas à trouver la solution ni à contourner le blocage.
J'ai fait un programme simple qui permet de rafraichir une fenêtre toutes les 5 secondes.
Ce programme doit tourner en boucle jusqu'à ce que j'appuie sur un bouton stop.
Or je n'arrive pas à capter l'événement stop une fois que la boucle est lancée. Je pense que c'est dû à la fonction sleep qui bloque la lecture des évènements.
J'aurai besoin d'aide pour contourner ce problème et pouvoir arrêter la boucle lorsque l'on appuie sur le bouton stop.
Merci d'avance pour vos idées
Voici le programme:
Code : Tout sélectionner
$AutoRefresh = GUICreate("Refresh", 140, 50, -1, -1, -1)
$Button_START = GUICtrlCreateButton("Start", 10, 10, 50, 30)
$Button_STOP = GUICtrlCreateButton("Stop", 80, 10, 50, 30)
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $Button_START
Start_Refresh()
Case $msg = $Button_STOP
exit
EndSelect
WEnd
Func Start_Refresh()
while GUIGetMsg()<> $Button_STOP
Send("{F5}")
Sleep(5000)
wend
EndFunc