Here a way to perform a MsgBox with no flicker and a count down :
#include <Constants.au3>
Global $iTimer
Example(10)
Func Example($iTime)
Local $sCommand = ' /AutoIt3ExecuteLine "ConsoleWrite(MsgBox(' & $MB_OKCANCEL & ', ''Count Down'', ''Execution will start in ' & $iTime & ' secs'', ' & $iTime & '))"'
Local $iPID = Run(@AutoItExe & $sCommand, "", @SW_SHOW, $STDERR_MERGED)
$iTimer = $iTime
AdlibRegister(CountDown, 1000)
While ProcessExists($iPID)
Sleep(50)
WEnd
AdlibUnRegister(CountDown)
Local $iResp = StdoutRead($iPID)
Switch $iResp
Case $IDTIMEOUT
ConsoleWrite("Time Out" & @CRLF)
Case $IDOK
ConsoleWrite("OK" & @CRLF)
Case $IDCANCEL
ConsoleWrite("Cancel" & @CRLF)
EndSwitch
EndFunc
Func CountDown()
$iTimer -= 1
ControlSetText("Count Down", "", "Static1", "Execution will start in " & $iTimer & " secs")
EndFunc