;заголовок окно | текст1 | текст2 | текст3 и т.д.
$sList = 'WindowName|WindowText-1|WindowText-2|WindowText-3'
;делитель строк в $sList
$sSplit = '|'
;время ожидания в сек.
$iTime = 60
;1 = существует, 2 = отображается, 4 = доступно, 8 = активно, 16 = свёрнуто, 32 = развёрнуто .
;(можно суммировать например: 1+2 = существует и отображается)
$iFlag = 1
;ожидает появления окна с указанными параметрами
;если удача возратит текст с которым найдено окно
;если не удача вернет ноль
$sResult = WinWait_($sList, $sSplit, $iTime, $iFlag)
If $sResult Then
MsgBox(0,'','Окно "WindowName" найдено')
Else
MsgBox(0,'','Окно "WindowName" не найдено')
EndIf
Switch $sResult
Case 'WindowText-1'
MsgBox(0,'','Найдено окно "WindowName" с текстом "WindowText-1"')
Case 'WindowText-2'
MsgBox(0,'','Найдено окно "WindowName" с текстом "WindowText-2"')
Case 'WindowText-3'
MsgBox(0,'','Найдено окно "WindowName" с текстом "WindowText-3"')
Case Else
MsgBox(0,'','Окно "WindowName" не найдено')
EndSwitch
Func WinWait_($_sList, $_sSplit = '|', $_iFlag = 1, $_iTime = 1)
$_sList = StringSplit ($_sList, $_sSplit, 2)
If $_sList[0] < 2 Then Return SetError(1, 0, 0)
$_iTime *= 1000
Local $_hTimer = TimerInit()
Local $_iA, $_iState
While Sleep(100)
For $_iA = 2 To $_sList[0]
$_iState = WinGetState($_sList[1], $_sList[$_iA])
$_iState = BitAND($_iState, $_iFlag)
If $_iState = $_iFlag Then Return $_sList[$_iA]
Next
If TimerDiff($_hTimer) >= $_iTime Then Return 0
WEnd
EndFunc