Что нового

[Окна, Диалоги] Переход к следующей подпрограмме в случае неактивности окна

Math

Новичок
Сообщения
85
Репутация
1
Есть скрипт, и в нём используется оператор
Код:
WinWaitActive("окно1")

Как сделать так, что если окно не станет активным некоторое время (к примеру, 60000 мс), то перейти не к следующему оператору, а к следующей подпрограмме?

И ещё. Окно может называться "окно1 страница1", "окно1 страница2" и тд. Как сделать так, что бы некоторая часть заголовка окна не учитывалась в WinWaitActive?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Re: [Окна, Диалоги] Ожидание активности окна.

Math [?]
следующей подпрограмме?
что такое подпрограмма? функция?
так, что бы некоторая часть заголовка окна не учитывалась
какая часть не должна учитываться? если начальный кусок у всех одинаковый, то ничего менять не надо.
Код:
WinWaitActive("окно1")

найдет окно с заголовком "окно1 страница1", и "окно2 страница 2".


Добавлено:
Сообщение автоматически объединено:

и еще, переименуй тему, чтобы она содержала в себе проблему
 
Автор
M

Math

Новичок
Сообщения
85
Репутация
1
что такое подпрограмма? функция?
Структура программы следующая:
Код:
WinWaitActive("окно1")
;тело подпрограммы1

WinWaitActive("окно2")
;тело подпрограммы2

Т.е. если окно1 не станет активным за какое-то время, то перейти к выполнению подпрограммы2.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 320
Math,
Если все названия окон начинаются одинаково и действия с ними нужно делать однотипные, то попробуйте так:
Код:
For $i = To 5 ;сколько раз
	$hWin = WinWaitActive('окно1', '', 60) ;sec
	If $hWin Then
		MsgBox(64, 'Info', 'Дождались')
		; что-то делаем
	Else
		MsgBox(16, 'Error', 'Не дождались')
	EndIf
Next
 
Автор
M

Math

Новичок
Сообщения
85
Репутация
1
madmasles,
Это не подойдёт, т.к. действия разные и имена окон разные.

Сейчас у меня скрипт доходит до WinWaitActive и ждёт активности окна. Когда дожидается - выполняется подпрограмма и скрипт переходит к следующей.
Но бывает так, что окно не запускается. В этом случае скрипт останавливается.
Нужно сделать так, что если скрипт не дождался активности окна какое-то время, то переходил к следующему действию.
 

AZJIO

Меценат
Меценат
Сообщения
2 752
Репутация
1 149
Math
И в чём проблема? Выход по тайм-ауту возвращает 0, т.е. вариант "Не дождались". Это и есть переход к следующему.
 
Автор
M

Math

Новичок
Сообщения
85
Репутация
1
Да, верно. Разобрался.
 
Верх