Что нового

Как найти окно, если дескриптор постоянно меняется

Anna

Новичок
Сообщения
119
Репутация
2
Подскажите, пожалуйста, как найти окно, название которого меняется с течением времени.
Перед основным названием таймер ведёт отсчёт.

Вот пример
Код:
WinWaitActive("49m:3s - FreeBitco.in - Win free bitcoins every hour! - Mozilla Firefox","")
Send("{F5}")
WinWait("48m:49s - FreeBitco.in - Win free bitcoins every hour! - Mozilla Firefox","")
If Not WinActive("48m:49s - FreeBitco.in - Win free bitcoins every hour! - Mozilla Firefox","")


Вот, что известно
Код:
Title:	[[hide]] 38m:40s - FreeBitco.in - Win free bitcoins every hour! - Mozilla Firefox [[/hide]]
Class:	Sandbox:aaa:MozillaWindowClass
Position:	-4, -4
Size:	1288, 778
Style:	0x17CF0000
ExStyle:	0x00000110
Handle:	0x005606F6
 
A

Alofa

Гость
Вот *Здесь* и *Здесь *почитайте и сразу наступит просветление :smile:
И еще про это:
Код:
Opt("WinTitleMatchMode", 2)
 
Автор
A

Anna

Новичок
Сообщения
119
Репутация
2
Alofa сказал(а):
почитайте и сразу наступит просветление :smile:
Спасибо, читала, но не работает конструкция такая
Код:
If Not WinActive("Free") Then WinActivate("Free")

До тех пор пока работает таймер, как только таймер исчезает работает как нужно
 
A

Alofa

Гость
Код:
; Opt("WinTitleMatchMode", 2)
; $hWnd = WinWait("FreeBitco", "", 5)
; или...
$hWnd = WinWait("[REGEXPCLASS:Mozilla;REGEXPTITLE:free]", "", 5) ; Ожидание 5 секунд до появление окна
If Not $hWnd Then
    MsgBox(4096, 'Сообщение', 'Окно не найдено, завершаем работу скрипта')
    Exit
EndIf
WinActivate($hWnd)
 
Автор
A

Anna

Новичок
Сообщения
119
Репутация
2
Спасибо, Alofa.
Выявилась причина, песочница – Sandbox, блокировала изменения.
 
Верх