Guten Tag!
Vorweg: Ich habe keine Ahnung von AutoIt und will momentan auch keine Ahnung davon haben.
Der folgende Script funktioniert, soll sich aber sobald er herausgefunden hat ob eine Internetverbindung besteht oder nicht und ggf. eine Datei gestartet wurde wieder beenden. Zur Zeit wiederholt er sich immer.
Spoiler anzeigen
Code
$sFile2Run = "Restart.bat" ; Die Datei die gestartet werden soll
$sTimeInSeconds = 3*60 ; Wie lange es dauern muss das keine INet verbindung aktiv ist bis das Programm gestartet wird.
While 1
If Not _CheckInet() Then
ConsoleWrite("!" & @CRLF)
$hTi = TimerInit()
While TimerDiff($hTi) <= $sTimeInSeconds*1000
If _CheckInet() Then ExitLoop 2
Sleep(1000)
WEnd
Run($sFile2Run)
ConsoleWrite(@error & @CRLF)
EndIf
Sleep(1000)
WEnd
Func _CheckInet()
Local $aDll,$sRet
$aDll = DllCall("WinInet.dll","int","InternetGetConnectedState","int*",0,"int",0)
If @error Then Return SetError(1,0,-1)
If nOt IsArray($aDll) Then SetError(2,0,-1)
If $aDll[0] = 0 Then Return False
Return True
EndFunc
Alles anzeigen