[..] Problème de WinActivate ?
Posté : lun. 22 sept. 2008 09:35
Bonjour,
j'ai créé un script AutoIt qui lance une animation Flash ("Run" un fichier demo5.bat qui déclenche l'animation demo5.exe), attend qu'elle tourne ("ProcessWait"), puis qui active la fenêtre principale ("WinActivate") de ladite animation.
Alors que ce script fonctionne parfaitement dans 90 % des cas lorsque je le lance à la main, lorsqu'il est lancé par le Task Scheduler de Windows, il ne trouve quasiment jamais la fenêtre de l'animation ("Macromedia Flash Player 7"), même si celle-ci est apparaît dans la liste des fenêtres ouvertes.
Quelqu'un a-t-il déjà rencontré ce genre de problème ?
Cordialement,
pr1
j'ai créé un script AutoIt qui lance une animation Flash ("Run" un fichier demo5.bat qui déclenche l'animation demo5.exe), attend qu'elle tourne ("ProcessWait"), puis qui active la fenêtre principale ("WinActivate") de ladite animation.
Alors que ce script fonctionne parfaitement dans 90 % des cas lorsque je le lance à la main, lorsqu'il est lancé par le Task Scheduler de Windows, il ne trouve quasiment jamais la fenêtre de l'animation ("Macromedia Flash Player 7"), même si celle-ci est apparaît dans la liste des fenêtres ouvertes.
Quelqu'un a-t-il déjà rencontré ce genre de problème ?
Cordialement,
pr1
Code : Tout sélectionner
----------------------------- Mon script -------------------------------
Run($flash_process_name, "", @SW_MAXIMIZE)
; 2008-09-19 pour forcer la mise au premier plan de la demo Flash
; chose que Run semble rater une fois sur deux
; Run("demo5.bat", "")
if @error <> 0 Then
FileWrite($debug_file, "Could not run demo5.bat. Exiting..." & @CRLF)
FileClose($debug_file)
Exit(2)
EndIf
; slow down so that the Macromedia Flash Window has time to active
sleep(2000)
; Wait for process to be up and running
Dim $processwait = ProcessWait($flash_process_name)
If $processwait == 0 Then
FileWrite($debug_file, "ProcessWait timed out. Exiting..." & @CRLF)
FileClose($debug_file)
Exit(3)
EndIf
; Activate window
Dim $winactivate_result = WinActivate("Macromedia")
If $winactivate_result == 0 Then
FileWrite($debug_file, "Activating '" & $flash_window_name & _
"' window was unsuccessful because window could not be found" & @CRLF)
FileWrite($debug_file, "List of active windows:" & @CRLF)
local $winlist = WinList()
For $i = 1 to $winlist[0][0]
If $winlist[$i][0] <> "" Then
FileWrite($debug_file, "Title= '" & $winlist[$i][0] & "', Handle= '" & $winlist[$i][1] & "'" & @CRLF)
EndIf
Next
FileWrite($debug_file, "Exiting(2)..." & @CRLF)
FileClose($debug_file)
exit(4)
EndIf