Что нового

Автоматизация реакция скрипта на закрытие окна

Пост номер 6 был отмечен как лучший ответ.

Alex58reg

Новичок
Сообщения
34
Репутация
0
ребята есть проблема прошу у вас помощи
в общем есть игра онлайн не браузерная есть скрипт который выполняет некоторые действия
так вот в чем вопрос нужно сделать так что бы при завершении этой игры автоматически завершался и сам скрипт
любому примеру буду рад и вам очень благодарен
 

InnI

AutoIT Гуру
Сообщения
4 482
Репутация
1 216
Если скрипт ваш, то так
Код:
If Not WinExists("Заголовок окна") Then Exit
; или
If Not ProcessExists("proc_name.exe") Then Exit

Если скрипт чужой и скомпилирован, то замените Exit на закрытие процесса скрипта.
 
Автор
A

Alex58reg

Новичок
Сообщения
34
Репутация
0
это нужно в цикл скрипта вставить скрипт мой сделан методом тыка с помощью форума
 

InnI

AutoIT Гуру
Сообщения
4 482
Репутация
1 216
Можно в цикл, можно через AdlibRegister. Зависит от логики скрипта.
 
Автор
A

Alex58reg

Новичок
Сообщения
34
Репутация
0
что то не как не получается окно игры закрываю а окно скрипта висит пока сам не закрою
Сообщение автоматически объединено:

Код:
While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Or $msg = $off Then Exit Send("{F10 2}")
       Switch $msg
          $timer = TimerInit()
           Case $checkbox_1
            _Toggle1($checkbox_1)
            Case $checkbox_2
            _Toggle2($checkbox_2)
              Case $checkbox_3
            _Toggle3($checkbox_3)
            Case $checkbox_4
            _Toggle4($checkbox_4)
              Case $checkbox_5
            _Toggle5($checkbox_5)
            Case $checkbox_6
         _Toggle6($checkbox_6)
        Case $checkbox_7
     _Toggle7($checkbox_7)
EndSwitch

If _IsPressed("26") Then
    $aPos = WinGetPos($GUI)
    WinMove($GUI, "", $aPos[0], $aPos[1] - 1)
    Sleep(60)
EndIf

If _IsPressed("28") Then
    $aPos = WinGetPos($GUI)
    WinMove($GUI, "", $aPos[0], $aPos[1] + 1)
    Sleep(60)
EndIf

If _IsPressed("25") Then
    $aPos = WinGetPos($GUI)
    WinMove($GUI, "", $aPos[0] - 1 , $aPos[1])
    Sleep(60)
EndIf

If _IsPressed("27") Then
    $aPos = WinGetPos($GUI)
    WinMove($GUI, "", $aPos[0] + 1 , $aPos[1])
    Sleep(60)
EndIf

If $auto = 1 then
$iState = WinGetState($hWnd)
If $iState Then
If BitAND($iState, 8) Then
PixelSearch(960,540,250,250,$color)
If Not @error = 1 then
$a = 1
While $a < 2
Call('aug')
$a = $a + 1
WEnd
EndIf

вот часть куда и как его впихнуть можете показать
 

InnI

AutoIT Гуру
Сообщения
4 482
Репутация
1 216
Код:
While 1
  If Not WinExists("Заголовок окна игры") Then Exit ; <== добавить
  $msg = GUIGetMsg()
 
Автор
A

Alex58reg

Новичок
Сообщения
34
Репутация
0
Спасибо огромное все получилось
есть еще вопрос можно ли как то привязать окно скрипта к окну игры так что бы окно скрипта открывалось именно в окне игры а не просто на дисплее
 

InnI

AutoIT Гуру
Сообщения
4 482
Репутация
1 216
Можно, но сложно. Также, высока вероятность проблем отрисовки обоих окон.
 
Автор
A

Alex58reg

Новичок
Сообщения
34
Репутация
0
хорошо спасибо и на этом очень помог ты лучший
 
Верх