для поиска картинки не нужно искать целое окно достаточно пару пикселей с закрашенным фоном
bank.bmp ( 250 байт )
Кол-во скачиваний: 285Но прежде всего стоит
сделать проверку может активное окно не меняется. Для проверки скопируйте этот код в новую вкладку и подставьте свои данные в строки которые в комментарии отмечены
//***.
1) Привязать свой запускаемый(рабочий, проверяемый) скрипт к рабочему окну.
2) Затем в код который вы скопировали в новую вкладку, нужно указать номер вкладки скрипта где вы запускаете свой скрипт.
3) Указать абсолютные координаты точки где появляется "новое" окно
4) Запускаем скрипт для проверки
5) Запускаем Ваш скрипт
6) ждем пока Ваш скрипт не завершит работу
7) Результат изменений PID окна будет хранится на диске
C: под именем
PID.txt Код
set #scr 40 //***номер вкладки скрипта где вы запускаете свой скрипт
set $xy 268, 210 abs //***абсолютные координаты точки где появляется "новое" окно
//--------------------------------------------
log clear
log mode compact
set linedelay 1 //Установить задержку между строками в 1 мс.
set #a workwindow.#scr // сохранить в переменной #a хендл рабочего окна скрипта из вашей вкладки
log PID окна где делали привязку: #a
filedelete (C:\PID.txt) //обнулить файл
write (C:\PID.txt PID окна где делали привязку: #a \r\n)
get scripts %a //получили данные о скриптах и их статусе
for #i 1 size(%a) //ищем скрипт который мы указали, для определения его статуса
log #i
if #scr = %a [#i 1]
set #nomerSCR #i
log наш скрипт: #nomerSCR
break
end_if
end_for
set $g %a [#nomerSCR 3]
log $g
set $off runing
while_not $g = $off //ждем пока не запустился проверяемый скрипт
get scripts %a //сверка статуса скрипта в текущий момент времени
set $g %a [#nomerSCR 3]
wait 100
end_while
while $g = $off //производить скан PID до тех пор пока он запущен
get scripts %a //сверка статуса скрипта в текущий момент времени
set $g %a [#nomerSCR 3]
log $g
get mouse_pos #x #y abs // получить координаты курсора перед смещением
move $xy // сместить курсор на наше окно
wait 10
set #b WindowFromCursor //записать в переменную хендл окна под курсором
move #x #y abs //вернуть курсор обратно в точку до смещения
if #a = #b //если пид изменился запишем это изменение
else
log Pid окна изменился на: #b
write (C:\PID.txt Pid окна изменился на: #b \r\n)
end_if
wait 1s
end_while
end_script