Что нового

Получить handle окна по позиции этого окна

And

Новичок
Сообщения
36
Репутация
0
Есть ли пример как получить handle внутреннего окна программы по позиции X и Y этого окна. Окно не имеет постоянных параметров по которым их можно было бы отслеживать или имеет одинаковые названия. Т.е. например окно всегда находится в позиции 100, 100 внутри основного окна программы и получило свой hendle. Как, зная позицию этого окна, получить его handle?

И общий вопрос. Правильно ли что только handle - точный и индивидуальный для каждого окна параметр по которому можно без ошибки определить окно, пусть handle и дается каждый раз новый. А все остальные параметры не являются индивидуальными и могут повторяться с другими окнами, в отличие от handle, который всегда только один в памяти в данный момент? И может ли handle окна измениться если окно не было закрыто или перезагружено?
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
1) Смотри http://autoit-script.ru/autoit3_docs/intro/windowsadvanced.htm пункт Расширенные установки поиска окна, и обрати внимание на X \ Y \ W \ H - Координаты и размер окна, снизу пример:
Пример: получить текст заголовка окна, с координатами X=50; Y=40, шириной равной 300, высотой равной 250. Всю метрику окна указывать не обязательно. Используются 5 свойств.
WinGetTitle("[CLASS:My Class; X:50; Y:40; W:300; H:250]")
Складываешь 2+2 получаешь что тебе нужно.

2)handle дается каждый раз новый, но он уникальный. Считай что это номер окна в системе
 
Верх