Что нового

Как сделать активным дочернее диалоговое окно программы, если тайтл не известен

smogendrr

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

Тайтлом может оказаться один из двух известных вариантов, но определить какой именно заранее нельзя.

На данный момент у меня так:
Код:
Func FDelTheBranch()
	Sleep(300)
	If WinExists($DelWindowName) Then
		ControlClick($DelWindowName, '', '[CLASS:Button; INSTANCE:1]', "left")
	EndIf
	If WinExists($WarningWindowName) Then
		ControlClick($WarningWindowName, '', '[CLASS:Button; INSTANCE:1]', "left")
	EndIf
	FClear()
EndFunc


А хочется, чтобы было с WinWait и WinWaitActive.
 

Dm666

Осваивающий
Сообщения
221
Репутация
48
Использовать класс вместо заголовка? Типа:
Код:
Run ('Notepad')
If WinWait('[CLASS:Notepad]','',2) = 0 Then 
	MsgBox(16,'Error','Window not found')
Else
	WinActivate('[CLASS:Notepad]')
	MsgBox(0,"", 'Notepad active')
EndIf
 
Верх