окно и окно родителя имеют:
1. одинаковый класс (если искать по названию класса, то находится то окно, которое активное, а нужно только дочернее)
2. названия этих окон динамические, каждую минуту в названии окна меняются несколько цифр (т.е. найти это дочернее окно по имени можно, но на одну минуту, так не подходит)
Как проигнорировать родительское окно клиента и найти только дочернее которое открывается через клиент?
Не уверен, что тема для этого чата, но найдите окно по регулярке, например, не только же цифры в названии. Возьмите его хендл/id и дальше работайте с ним. Да и вы хотя бы указали, что за оконная система, чтобы не рассуждать в вакууме
Не понял на счёт оконной системы. Хендл меняется каждый раз когда закрывается окно и открывается снова
Можете дать какую нибудь статью или ссылку на захват окна по регулярке (в имени окна есть пару слов, которые никогда не меняются)
Нет, не могу, это общая идея – пройтись по списку окон, проверить их имена на совпадение с подходящим шаблоном. Либо отслеживать появление каждого нового окна и сверять. Например, регулярным выражением. Возможно, вам подойдёт что-то даже более простое – проверка вхождения некоторой фразы в имя. Что-то конкретное посоветовать не могу, поскольку C++ не имеет инструментов для работы с оконной системой и вам нужно использовать соответствующие инструменты – предполагая, что вы работаете с Windows, вам стоит изучить подходящие функции в WinAPI. Если это Linux – нужно разбираться либо с X11 или Wayland, либо с API оконного менеджера. Про macOS ничего не подскажу
Предположу, что вам требуется что-то такое
/warn offtopic
получай ивенты окна с помощью windowproc, про ивенты ищи на msdn
Обсуждают сегодня