1

Тема: AHK: Получить список загружающихся окон

Имеется программа, при запуске которой загружаются, потом закрываются окна.
Хотелось бы получить их список для того чтобы убедиться, что программа загрузилась.
Есть ли какие-то утилиты?

2 (изменено: serzh82saratov, 2013-06-27 11:07:50)

Re: AHK: Получить список загружающихся окон

Если правильно понял.
В 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: 11

Count window this PID - количество окон принадлежащих процессу окна.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3

Re: AHK: Получить список загружающихся окон

Нет, не правильно.
При запуске программы появляются разные окна, закрываются, также меняется название главного окна.
Вот мне и надо проследить за всеми изменениями.
То есть получить список:
открылось окно 1
открылось окно 2
закрылось окно 1
открылось окно 3
и т.д.

4

Re: AHK: Получить список загружающихся окон

Нет, не правильно.

Вы уверены?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: AHK: Получить список загружающихся окон

Да.
Другой пример.
Откройте блокнот, потом в блокноте нажмите file->open
Выберите какой-нибудь документ.
После таких действий я хочу получить следующий список:
открылось окно Untitled - Notepad
открылось окно Open
закрылось окно Open
закрылось окно Untitled - Notepad
открылось окно test.txt - Notepad

6

Re: AHK: Получить список загружающихся окон

Можно в таймере отслеживать заголовки окон.

7

Re: AHK: Получить список загружающихся окон

Для заранее известных окон есть WinWait и GroupAdd

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

8

Re: AHK: Получить список загружающихся окон

А вообще http://forum.script-coding.com/viewtopi … 399#p72399 в недавней теме мы это проходили.
EVENT_OBJECT_CREATE = 0x8000
Пишите в массив все создаваемые и закрытые окна. При этом определяйте их заголовки, и фильтруйте по нужным критериям. У меня клавиатура сломалась, сам написать смогу нескоро.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

9

Re: AHK: Получить список загружающихся окон

А заранее я эти окна не знаю.
Я написал вот, что.
Но это не совсем то, так как нету проверки на закрытие окна.
Я думал есть специальные утилиты...

f11::
WinGetTitle, Title1, A
Titles .= Title1
loop
{
   WinGetTitle, Title, A
   if (Title = Title1)
      continue
   Title1 := Title
   Titles .= "`n"Title
}
f12:: msgbox % Titles