Что нового

Автоматизированный ввод данных во внешнюю программу

InnI

AutoIT Гуру
Сообщения
4,982
Репутация
1,460
The_Immortal
С консолями сложнее. На Win7 и выше для каждого консольного приложения запускается процесс conhost.exe. Вот для этого процесса и можно найти окно, в котором находится консоль. А в вашем случае лучше искать от окна к процессу. Sln и CreatoR показали, как это сделать.
 
Автор
T

The_Immortal

Новичок
Сообщения
84
Репутация
4
InnI, [?]
запускается процесс conhost.exe. Вот для этого процесса и можно найти окно, в котором находится консоль
Понятно. Тогда этот вариант вообще не подойдет, потому как в теории может быть консольное окно с тем же именем, что и нужное. Спасибо за разъяснения!

CreatoR, благодарю за решение!

Правда, не очень понимаю, зачем в условии второй раз используется переменная $bVisible... Можно ли оставить так:
Код:
If WinGetProcess($aWins[$i][1]) = $iPID And (Not $bVisible Or BitAND(WinGetState($aWins[$i][1]), 2)))
?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,487
The_Immortal [?]
не очень понимаю, зачем в условии второй раз используется переменная $bVisible... Можно ли оставить так
Для того чтобы не проверять в цикле лишний раз состояние окна. Можно оставить и без этого условия, результат от этого не меняется.
 
Верх