Page 1 sur 1

Script AutoIt bloqué : ma fenêtre ne se met plus à jour  

Posté : jeu. 04 déc. 2025 08:53
par louiseravot
Bonjour à tous,

Je débute sur AutoIt et je rencontre un petit souci avec un script qui gère une fenêtre simple.
Le problème : la fenêtre ne se met plus à jour après un certain point du script, comme si elle se figeait.

J'ai pourtant utilisé GUISetState() et même ajouté quelques Sleep(), mais rien n’y fait.
Est-ce que quelqu’un aurait une idée de ce qui peut bloquer l’interface ?
Peut-être une boucle mal faite ou une mauvaise gestion des événements ?

Voici le comportement recherché :

mettre à jour un label en continu

garder la fenêtre responsive

Et voici le comportement réel :

la fenêtre s’affiche mais devient figée

Si un expert a une piste, je suis preneur. Merci d'avance pour votre aide !

Re: Script AutoIt bloqué : ma fenêtre ne se met plus à jour

Posté : jeu. 04 déc. 2025 14:21
par Nine
Sans code, ça va être difficile. On peut juste jouer à la devinette. Une erreur fréquente est d'avoir une seconde boucle appelée dans la boucle principale du GUI.

Re: Script AutoIt bloqué : ma fenêtre ne se met plus à jour

Posté : mer. 18 févr. 2026 11:22
par TotoDev
Salut !
Je suis d'accord avec Nince,sans code, c'est compliqué !
Voici un début de réponse
Le problème est classique quand on débute : ta fenêtre se fige parce que ton script ne traite pas les événements Windows pendant qu'il travaille.
La solution : ajoute une boucle de messages dans ton code, donc -> au lieu de faire ton traitement en continu, tu dois utiliser :

While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then Exit

; Ton code de mise à jour du label ici
GUICtrlSetData($label, "Nouveau texte")

WEnd
Le truc : GUIGetMsg() permet à Windows de rafraîchir ta fenêtre et de gérer les clics/déplacements. Sans ça, ta GUI reste "bloquée".
Si tu as un traitement long, tu peux aussi :

Découper ton code en petites étapes
Utiliser AdlibRegister() pour exécuter une fonction périodiquement
Regarder du côté de GUIOnEventMode pour un mode événementiel

N'hésite pas à partager ton code si tu as encore du mal, ça sera plus facile de t'aider
Bon courage!!