Тема: AHK: Получить список загружающихся окон
Имеется программа, при запуске которой загружаются, потом закрываются окна.
Хотелось бы получить их список для того чтобы убедиться, что программа загрузилась.
Есть ли какие-то утилиты?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Имеется программа, при запуске которой загружаются, потом закрываются окна.
Хотелось бы получить их список для того чтобы убедиться, что программа загрузилась.
Есть ли какие-то утилиты?
Если правильно понял.
В AhkSpy, снизу закомментирован такой код:
DetectHiddenWindows, on
WinGet, List, List, ahk_exe opera.exe
MsgBox Всего - %List%
loop % List
{
WinGetTitle, Title, % "ahk_id " List%A_Index%
WinGetClass, Class, % "ahk_id " List%A_Index%
DetectHiddenText off
WinGetText, Text, % "ahk_id " List%A_Index%
DetectHiddenText on
WinGetText, HiddenText, % "ahk_id " List%A_Index%
msgbox =
( Ltrim
Окно - %A_Index% из %List%
Title - %Title%
Class - %Class%
Text - %Text%
HiddenText - %HiddenText%
)
msgbox %msgbox%
}
msgbox The end
Но лучше узнавать через пид конкретного процесса.
Там же в параметрах окна есть строка:
PID "opera.exe": 3628 || Count window this PID: 11Count window this PID - количество окон принадлежащих процессу окна.
Нет, не правильно.
При запуске программы появляются разные окна, закрываются, также меняется название главного окна.
Вот мне и надо проследить за всеми изменениями.
То есть получить список:
открылось окно 1
открылось окно 2
закрылось окно 1
открылось окно 3
и т.д.
Нет, не правильно.
Вы уверены?
Да.
Другой пример.
Откройте блокнот, потом в блокноте нажмите file->open
Выберите какой-нибудь документ.
После таких действий я хочу получить следующий список:
открылось окно Untitled - Notepad
открылось окно Open
закрылось окно Open
закрылось окно Untitled - Notepad
открылось окно test.txt - Notepad
Можно в таймере отслеживать заголовки окон.
Для заранее известных окон есть WinWait и GroupAdd
А вообще http://forum.script-coding.com/viewtopi … 399#p72399 в недавней теме мы это проходили.
EVENT_OBJECT_CREATE = 0x8000
Пишите в массив все создаваемые и закрытые окна. При этом определяйте их заголовки, и фильтруйте по нужным критериям. У меня клавиатура сломалась, сам написать смогу нескоро.
А заранее я эти окна не знаю.
Я написал вот, что.
Но это не совсем то, так как нету проверки на закрытие окна.
Я думал есть специальные утилиты...
f11::
WinGetTitle, Title1, A
Titles .= Title1
loop
{
WinGetTitle, Title, A
if (Title = Title1)
continue
Title1 := Title
Titles .= "`n"Title
}
f12:: msgbox % TitlesСтраницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться