Voila, ça fait maintenant un peu plus d'un an que j'utilise autoit et je viens de tombé sur un soucis que je n'avais jamais rencontré.
J'ai un script de quelque milliers de ligne qui fonctionne parfaitement sur window 7/10 et serveur 2008, mais qui ne fonctionne que partielement sur windows serveur 2012.
Apres recherche il semble, que ce qui ne fonctionne pas vient du fait que la fonction StdoutRead semble ne pas fonctionner sur Windows Server 2012.
Exemple :
Code : Tout sélectionner
;TestStd.au3
#RequireAdmin
Func getSTD(Const $sCMD)
Local $sTMP = ''
Local $sSTD = ''
Local Const $iPID = Run(@ComSpec & ' /c ' & $sCMD, '', @SW_HIDE, $STDERR_MERGED)
While 1 = 1
$sTMP = StdoutRead($iPID, False, False)
If @error Then
ExitLoop
Else
$sSTD &= $sTMP
ConsoleWrite($sTMP)
Sleep(50)
EndIf
WEnd
Return $sSTD
EndFunc
MsgBox(0,1,getSTD("echo toto"))
De plus, chose egalement surprenant, si lancer le script par un click ne fonctionne pas, si on le lance a partir d'un .bat il fonctionne correctement.
test.bat :
Code : Tout sélectionner
TestStd.exe
Donc au final ce n'est pas un enorme probleme puisque je peux lancer mon script sans soucis a partir d'un .bat, mais je me demandais si vous aviez déjà eu ce genre de soucis.
Merci d'avance pour vos retours d'experience