Как узнать handle окна по ID процесса

TigerHawk

Коллеги, подскажите, что делать. Ситуация в двух словах такая: нужно сделать скриншоты окна программы. Я пока разобрался, как найти handle окна по его заголовку. Но программа может быть запущена в нескольких экземплярах, собственно поэтому и пишу программу, по тому что делать вручную кучу скриншотов утомляет. Заголовок у них одинаковый, соответственно Handle окна определяется только у первого, а вот ID процесса у всех, естественно разный. Как по этому ID найти Handle окна?
2 ответа

TigerHawk

Попробуй использовать WinAPI-шную функцию EnumWindows. Она все окна перечисляет. Я только не пойму как ты будешь действовать, если окно перекрыто другим?


TigerHawk

Попробуй использовать WinAPI-шную функцию EnumWindows. Она все окна перечисляет.
Попробую разобраться что там к чему.
Я только не пойму как ты будешь действовать, если окно перекрыто другим?
Взял готовый код, который делает скриншот окна не зависимо от того, видно оно или нет. Главное, чтобы оно не было свернуто. Так что тут проблем нет.