Что нового

[Окна, Диалоги] Отреагировать на окно не отображающееся в пуск

korvindeson

Новичок
Сообщения
19
Репутация
0
Добрый день!
Есть такая беда. При работе с программой (сторонней) иногда появляется диалоговое окно. Когда я пытаюсь на него реагировать вроде:
Код:
if WinExists ("Сообщение!") = 1 Then
 	  send("{ESC}")
EndIf

Имя всплывающего окна именно такое, без доп пробелов и прочего, через виндоу инфо проверял. Контролов в этом окне нет вообще (хотя кнопка ок есть, видимо скином). В панели пуск окна нет. Класс такой же как у основного окна. Слип пробовал ставить с большим запасом, окно выходит, винЭкзист возвращает 0. Что с ним делать?
А ещё в начале программы написал Opt("WinSearchChildren", 1), тоже никакой реакции.
 
Автор
K

korvindeson

Новичок
Сообщения
19
Репутация
0
Конечно

>>>> Window <<<<
Title: Сообщение!
Class: Qt5QWindowIcon
Position: 1242, 385
Size: 435, 178
Style: 0x96CC0000
ExStyle: 0x00000100
Handle: 0x001D0CA0

>>>> Control <<<<
Class:
Instance:
ClassnameNN:
Name:
Advanced (Class):
ID:
Text:
Position:
Size:
ControlClick Coords:
Style:
ExStyle:
Handle:

>>>> Mouse <<<<
Position: 1416, 437
Cursor ID: 0
Color: 0xF0F0F0

>>>> StatusBar <<<<

>>>> ToolsBar <<<<

>>>> Visible Text <<<<


>>>> Hidden Text <<<<
 

InnI

AutoIT Гуру
Сообщения
4,982
Репутация
1,460
А если так?
Код:
ConsoleWrite(WinExists("[TITLE:Сообщение!;CLASS:Qt5QWindowIcon]") & @CRLF)
 
Автор
K

korvindeson

Новичок
Сообщения
19
Репутация
0
Пошла вода в хату! Если проверять
Код:
if WinExists ("[TITLE:Сообщение!;CLASS:Qt5QWindowIcon]") = 1 Then
      send("{ESC}")
EndIf

То всё работает, большое спасибо! Если не затруднит, расскажете причину почему не работает при обычной проверке заголовка? Лучше все проверять именно в такой формулировке?
 

InnI

AutoIT Гуру
Сообщения
4,982
Репутация
1,460
korvindeson [?]
причину почему не работает
Если честно, то затрудняюсь ответить. Если Au3Info видит этот заголовок, то и WinExists() должен его находить. При таких проблемах лучше копировать текст из окна Au3Info, тогда будет исключена возможность некорректного ввода (русская и английская "с" и "о" очень похожи :smile: ).

Лучше все проверять именно в такой формулировке?
Конечно нет. Это на случай, если "обычный" вариант не работает. Как у вас...
 
Автор
K

korvindeson

Новичок
Сообщения
19
Репутация
0
Так сюда же я копировал уже из своего кода, да и отсюда из вашего :smile: Значит вопрос не в написании :scratch: Ладно, заработало и слава богу, причина дело десятое, может работа с QT библиотекой такая "избранная". Спасибо ещё раз, сам бы не допёр запрос поменять.
 
Верх