А как можно отслеживать положение окна?Kinex сказал(а):Ну если ева работает в оконном режиме, то при вылете меняется местоположение окна на стандартное по центру. На данный момент у меня отслеживает так, либо релогинится при нескольких последовательных завершениях функции с еррорлевелом, отличным от нуля, тк бывают просто зависы без релогина.
Global $WinPos = WinGetPos("EVE") ;Получить Х и Y координаты левого верхнего угла окна EVE и записать их в переменные $WinPos[0] и $WinPos[1] соответственно
Func StatusKlienta() ; Проверяем находится ли координата окна Х в точке 0
If $WinPos[0] = 0 Then ; Если координата окна Х=0 то клиент онлайн
ToolTip("Онлайн", 440, 160)
Else ; иначе слип на 15 сек. и запустить функцию Релогин.
Sleep(15000)
Relogin()
EndIf
EndFunc
;-------------------Проверка входа в Док------------------
Func DokTest()
$i = 0
Do
StatusKlienta() ; ИЛИ ТАК НЕ ПОЛУЧИТСЯ ВЫЙТИ ИЗ ЦИКЛА?
Sleep(1000)
PixelSearch($DokButonX, $DokButonY, $DokButonX+1, $DokButonY+1, 0xFFDB42, 10 )
If NOT @error Then
$i = 1
EndIf
Until $i = 1
ToolTip("Стыковка завершена", 440, 160)
Sleep(4000)
EndFunc
Func StatusKlienta() ; Проверяем находится ли окно в координатах 0,0
Global $WinPos = WinGetPos("EVE") ;Получить Х и Y координаты левого верхнего угла окна EVE и записать их в переменные $WinPos[0] и $WinPos[1] соответственно
If $WinPos[0] = 0 Then
Return 1 ; Клиент онлайн
Else
Return 0 ; Был дисконект
EndIf
EndFunc
WinGetPos
То есть вот такая функция будет верной?Belfigor сказал(а):WinGetPos возвращает сразу же и X и Y в 0 и 1 индексы массива.
Func StatusKlienta()
If WinGetPos("EVE") = (0,0) Then ; Если верхний левый угол окна находится в координатах 0,0
Return 1 ; Клиент онлайн
Else
Return 0 ; Был дисконект
EndIf
EndFunc
При дисконекте клиент перезагружается... ;)DJ_Tommy сказал(а):Кстати, вспомнил, а по каким параметрам отслеживать состояние дисконекта в полноэкранном режиме?
Да что ты говоришь ..... а мы то и не знали ...McSkull сказал(а):При дисконекте клиент перезагружается... ;)DJ_Tommy сказал(а):Кстати, вспомнил, а по каким параметрам отслеживать состояние дисконекта в полноэкранном режиме?
Ну я же сказал...DJ_Tommy сказал(а):Да что ты говоришь ..... а мы то и не знали ...
Я вообще то спрашивал по каким параметрам отслеживать ....
WinGetPos