Что нового

[Автоматизация] WinWaitActive без Tittle:

Лаборант

Новичок
Сообщения
1
Репутация
0
Подскажите начинающему. Не нашел, как дождаться появления окна без Title. Надо просто подождать и отловить окно для продолжения.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Лаборант
AutoIt3 Window Info тебе подскажет все другие характеристики твоего окна, помимо title, которые можно отловить.
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Примерчик.
Про калькулятор.
Код:
While 1
	Sleep(100)
	WinWait("[Class:SciCalc]", "")
	MsgBox(64, "Инфо", "Калькулятор Windows")
WEnd


Class:SciCalc
узнал при помощи AutoIt3 Window Info
 

tvilsa

Новичок
Сообщения
3
Репутация
0
Всем добрый день. Подниму эту тему так как вроде то что ищу но не до конца.
Задача ждать активное окно без title но с известным положением и размером. И за тем в данное окно передавать нажатие кнопки мыши в нужную координату.
Приведите пожалуйста пример с функцией WinWaitActiv в корой ловиться окно с заданными размерами и положением и передается нажатие мыши. В справке нет такого примера, хотя в англоязычной справке по winWaitActiv пишется что есть такое свойство окна как size width High а как применить нету.
Заранее спасибо.
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
tvilsa
Например есть текстовый файл и при его запуске
окно Блокнота имеет такие размеры / координаты 209, 143, 769, 534
и надо кликнуть мышкой в поле активного Блокнота по координатам 355, 455
Тогда можно так реализовать
Код:
While 1
	Sleep(100)	
	$size = WinGetPos("")
	If $size[0] = 209 And $size[1] = 143 And $size[2] = 769 And $size[3] = 534 Then		
		MouseClick("left", 355, 445, 1, 10)
		ExitLoop
	EndIf
WEnd
 

tvilsa

Новичок
Сообщения
3
Репутация
0
BIOS спасибо но на этой странице тоже нет ПРИМЕРА отлова окна по известным координатам и размеру.

Yuriy
Я попробывал твой код но почемуто не работает.
Для визуализации я добавил отсылку окну текста.
Вот принт скрин экрана с размерами моего окна блокнота.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 320
tvilsa,
Попробуйте так (размеры на свои поменяйте).
Код:
$hWin = WinWait('[X:164; Y:127; W:640; H:455]', '', 10)
If $hWin Then
	ConsoleWrite(WinGetTitle($hWin) & @LF)
	ConsoleWrite(WinGetText($hWin) & @LF)
Else
	ConsoleWrite('No' & @LF)
EndIf
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
tvilsa
Код:
If $size[0] = 35 And $size[1] = 31 And $size[2] = 151 And $size[3] = 129 Then
 
Верх