Что нового

Есть ли исходник в *.au3 утилиты AutoIt Window Info?

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
agikon [?]
по _WinAPI_GetWindowText не определяет даже когда окно активно.
Параметр _WinAPI_GetWindowText смотреть не пробовал? там указывается дескриптор окна. По дескриптору он как бы не ищет а берёт единственное окно с указанным дескриптором.
WinGetTitle позволяет задать формат поиска окна по критерию. Если указан дескриптор он тоже не ищет окно, оно есть в единственном экземпляре и другого такого нет. Во все случаях производится определение формата строки. Если это дескриптор, то запрашивается массив дескрипторов существующих окон, если класс окна то запрашивается массив классов существующих окон, если заголовок окна, то запрашивается массив заголовков существующих окон. В общем от формата определяется запрос. Далее массив естественно имеет какой то порядок и как обычно в справке пишут Z-порядок, то есть по очереди открытия окна или по тому как окно становится активным. Далее по этому массиву производят поиск на основании заказа. Дескриптор понятно один, а вот окон с одинаковым классом или текстом в заголовке может быть несколько. Так как функция возвращает только одно окно, значит ей следует сделать выбор какое окно она возвратит, естественно первое попавшееся в массиве при обсчёте сверху вниз или снизу вверх. А там очерёдность Z-порядка. То есть если будет открыта папка в которой находится Mozilla, то это окно и будет возвращено по вашему запросу. Что не устраивает? Нужно окно настоящего "Mozilla Firefox"? Значит нужно задать такие критерии маски которые исключат иные окна.
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
AZJIO [?]
Значит нужно задать такие критерии маски которые исключат иные окна.
получается что да.
но всё-же, в системе насколько я просто смотрю на рабочий стол и вижу что запущен один браузер фаерфокс, больше никаких окон и папок и файлов не запущено, тем более таких которые содержат слово "firefox".
так какие ещё нужны критерии?

одно могу сказать, то что заметил, что при открытии нескольких вкладок в браузере возникает этот сбой. выходит происходит то что вы и говорите, в браузере происходит некие изменения и вот эти вкладки "заплутывают" эти WinGetTitle и _WinAPI_GetWindowText, и они не могут "дорытся" до нужного имени, хоть и в заголовке браузера присуще искомое слово.
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
agikon
У меня заголовок окна в FF состоит из "Имя вкладки - Mozilla Firefox". Чем не критерий? Отличающий какую либо вкладку от имени в заголовке.
 
Верх