Bonjour et merci,
d'abord, ce n'est qu'un bout du script, il y a d'autres Case(s) et j'ai oublié EndSelect.
Je sais que si je ne mets pas @HOUR ou @MIN, ça marche avec un seul élément, mais @HOUR... AND @MIN... ça ne fonctionne pas. Le tout est effectivement dans une boucle. C'est la cohabitation des Cases qui pose problème... Je désactive ceci ou cela mais les effets sont bizarres.
Les Sleep() ne font pas les durées spécifiées du fait qu'il y a plusieurs autres actions, c'est un petit peu embêtant. Je vous mets le script en entier, il sert éviter que je reste trop longtemps devant mon ordinateur :
(donc, c'est le Case du milieu qui ne s'exécute pas)
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.2.6.0
Author: Moi
#ce ----------------------------------------------------------------------------
#include <Date.au3>
;~ Break(0)
while 1 = 1 ; Boucle infinie pour bloqueer l'utilisateur.
Select ; Plusieurs cas...
Case @MIN = 0 OR @MIN = 10 OR @MIN = 20 OR @MIN = 30 OR @MIN = 40 OR @MIN = 50 ; Toutes les dix minutes.
$avert = ""
SplashTextOn("Pause courte", $avert, @DesktopWidth, @DesktopHeight, -1, -1, 0, "") ; On ouvre une boite flottante.
Do
WinActivate("Pause", "") ; On active la boite...
$time = @LF & "Il est : " & _NowTime(5) & " et vous faites une pause de trois minutes."
ControlSetText("Pause courte", "", "Static1", $time) ; Pour l'afficher...
Until @MIN = 3 OR @MIN = 13 OR @MIN = 23 OR @MIN = 33 OR @MIN = 43 OR @MIN = 53 ; Trois minutes donc.
Case @HOUR = 14 AND @MIN = 01
$avert = ""
SplashTextOn("Pause longue", $avert, @DesktopWidth, @DesktopHeight, -1, -1, 0, "") ; On ouvre une boite flottante.
Do
WinActivate("Pause longue", "") ; On active la boite...
$time = @LF & "Il est : " & _NowTime(5) & " et vous faites une pause de trente minutes."
ControlSetText("Pause longue", "", "Static1", $time) ; Pour l'afficher...
Until @HOUR = 14 AND @MIN = 31 ; Trois minutes donc.
Case Else ; A la fin des pauses
$avert = ""
SplashTextOn("Horloge", $avert, 100, 20, -1, -1, 16, "", 12, 1000) ; On ouvre une boite flottante.
Do
$time = _NowTime(5)
ControlSetText("Horloge", "", "Static1", $time) ; Pour l'afficher...
Until @MIN = 0 OR @MIN = 10 OR @MIN = 20 OR @MIN = 30 OR @MIN = 40 OR @MIN = 50
EndSelect
Wend ; On continue de surveiller l'horloge...