Ну на репках это давно уже выглядит не так, а вот так:

Код:
#Include <WinAPIEx.au3>
Opt("TrayAutoPause",0)
$okno="Steam Connection" 
$okno2="Error" 
$okno3="Microsoft Windows" 
While 1
If Not ProcessExists('Launcher.exe') Then
sleep (300000)
	If Not ProcessExists('Launcher.exe') Then 
	Run("C:\autocod\reboot.cmd")
	Endif
Else
	$var = WinList($okno)   
	For $n = 1 to $var[0][0]    
	$aData = _WinAPI_EnumChildWindows($var[$n][1])
	For $i= 1 To $aData[0][0]
	$text=ControlGetText ($var[$n][1], "", $aData[$i][0])
	If StringInStr($text, "Steam") Then 
	Run("C:\autocod\reboot.cmd")
	Endif
	Next
    Next
	$var = WinList($okno2) 
	For $n = 1 to $var[0][0]    
	$aData = _WinAPI_EnumChildWindows($var[$n][1])
	For $i= 1 To $aData[0][0]
	$text=ControlGetText ($var[$n][1], "", $aData[$i][0])
	If StringInStr($text, "Steam") Then
	Run("C:\autocod\reboot.cmd")
	Endif
	Next
    Next
    $var = WinList($okno3) 
	For $n = 1 to $var[0][0]    
	$aData = _WinAPI_EnumChildWindows($var[$n][1])
	For $i= 1 To $aData[0][0]
	$text=ControlGetText ($var[$n][1], "", $aData[$i][0])
	If StringInStr($text, "Отмена") Then 
	Run("C:\autocod\reboot.cmd")
	Endif
	If StringInStr($text, "Закрыть") Then 
	Run("C:\autocod\reboot.cmd")
	Endif
	If StringInStr($text, "Отправить") Then 
	Run("C:\autocod\reboot.cmd")
	Endif
	Next
    Next
    sleep (60000)
Endif
WEnd
мало кому подойдет, но смысл такой.

--- Добавлено ---

И у gec скрипт красивее... сразу видно "школу", не то что я... забил, можно сказать его ногой