Page 1 sur 1
[..] Petit soucis de WinExists / WinWait
Posté : mar. 20 déc. 2011 17:39
par RL77LUC
Salut à tous !
J'ai un petit soucis avec les WinWait et WinExists. Je m'explique : Je veux faire un script AutoIt qui récupère les résultats de la compilation d'une app AutoIt via le compilateur par défaut, tout ceci afin de faire un Jenkins-like, pour ceux qui connaissent. C'est à dire que toutes vos compilations sont enregistrées sur un serveur web et les compilations achevées avec succès sont téléchargeables sous forme de "builds".
Voici mon code :
► Afficher le texteCode
Code : Tout sélectionner
Opt("WinTitleMatchMode",2)
$Build = IniRead("C:\ClouDevSet.ini","CompileParams","Build","0001")
If $Build = "0001" Then
IniWrite("C:\ClouDevSet.ini","CompileParams","Build","0001")
EndIf
TrayTip("","ClouDev Compilation Output est maintenant actif." & @CRLF & "Vos compilations seront envoyées vers votre serveur ClouDev.",30)
WinWait("[CLASS:AutoIt v3]")
TrayTip("","Nouvelle compilation détectée.",30)
$TimeStart = @HOUR & "h" & @MIN & "m" & @SEC & "s"
$CmpT = 0
While 1
If WinExists("[CLASS:AutoIt v3 GUI]") = 1 Then
$CmpErr = 1
$Type = 1
ExitLoop
EndIf
If WinExists("[CLASS:#32770]") = 1 Then
$CmpErr = 1
$Type = 2
ExitLoop
EndIf
If $CmpT = 100 Then
$CmpError = 1
ExitLoop
EndIf
Sleep(100)
$CmpT = $CmpT + 1
WEnd
If $CmpErr = 0 Then
MsgBox(64,"Compilation","Compilation réussie sans erreurs.")
$ST = "Réussie"
$Errs = "Compilation ..." & @CRLF & @CRLF & "Compilation Ended."
Else
If $Type = 1 Then
$Errs = ControlGetText("Au3Check errors","", 6)
Else
$Errs = ControlGetText("Aut2Exe Error","", 65535)
EndIf
$Errs = StringReplace($Errs, @UserName, "{USER}")
$Errs = "Compilation ..." & @CRLF & $Errs & @CRLF & @CRLF & "Compilation aborted."
MsgBox(64,"Compilation","Compilation échouée. Erreurs enregistrées")
$ST = "Echouée"
EndIf
$NumBuild = InputBox("Compilation Output","Une compilation a été détectée, entrez un numéro de build supérieur à " & $Build & ".")
If $NumBuild < $Build OR $NumBuild = $Build Then
$NumBuild = $Build + 1
MsgBox(48,"Attention","Mauvais numéro de build. Numéro remis à " & $NumBuild & ".")
EndIf
If StringLen($NumBuild) < 4 Then
While 1
$NumBuild = "0" & $NumBuild
If StringLen($NumBuild) = 4 Then
ExitLoop
EndIf
WEnd
EndIf
IniWrite("C:\ClouDevSet.ini","CompileParams","Build",$NumBuild)
$TimeStop = @HOUR & "h" & @MIN & "m" & @SEC & "s"
$FDebug = "Compilation de la build " & $NumBuild & @CRLF & "Etat : " & $ST & @CRLF & "OUTPUT :" & @CRLF & $Errs
FileWrite("B_" & $NumBuild & ".txt",$FDebug)
Seul soucis, les WinWait et WinExists sont passés directement, comme si la fenêtre existait, alors que ça n'est pas le cas. Tout me semble correct, donc je m'en remet à votre aide, j'ai dû passer à côté d'un détail.
Re: [..] Petit soucis de WinExists / WinActive
Posté : mar. 20 déc. 2011 22:31
par mikell
Je vois pas de WinActive, tout le code est là ?
Re: [..] Petit soucis de WinExists / WinActive
Posté : mer. 21 déc. 2011 12:32
par RL77LUC
Quel idiot je fais ... J'ai mis WinActive au lieu de WinWait.
Re: [..] Petit soucis de WinExists / WinWait
Posté : mer. 21 déc. 2011 13:17
par Tlem
N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.
Re: [..] Petit soucis de WinExists / WinWait
Posté : mer. 21 déc. 2011 13:36
par mikell
Bon essaie déjà de virer Opt("WinTitleMatchMode",2)
Ensuite vérifie que tu n'as pas un script ou un soft autoit quel qu'il soit en train de tourner sur le pc
Sinon essaie de le faire façon debug en mettant dans tes WinExists autre chose que des définitions de fenêtre avancées
Re: [..] Petit soucis de WinExists / WinWait
Posté : mer. 21 déc. 2011 15:58
par RL77LUC
@Tlem: J'ai modifié dans le message, mais le sujet n'est pas résolu, j'ai juste fait une erreur de rédaction dans le topic.
@mikell: Il n'y aucune autre fenêtre excepté Scite (qui a une classe totalement différente), pour l'Opt, il en change rien dans le cas présent. Et avant j'ai essayé les titre de fenêtre, mais ils ne fonctionnent pas (ça passe jamais, même quand la fenêtre est présente).
Re: [..] Petit soucis de WinExists / WinWait
Posté : mer. 21 déc. 2011 17:46
par Tlem
Ok.
Je n'avais pas bien compris votre dernier message, qui à mes yeux semblait vouloir dire que vous aviez commis une erreur dans le code.
Let's go ...

Re: [..] Petit soucis de WinExists / WinWait
Posté : mer. 21 déc. 2011 18:33
par RL77LUC
Pas de soucis, c'est moi qui n'aie pas été très explicite ^^.