Что нового

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

Лаборант

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

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Лаборант
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,322
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
 
Верх