перечисление дочерних окон
-
27-10-2019 - |
Вопрос
Пару недель назад кто-то здесь помог мне с написанием класса, который перечисляет все главные окна.
Сегодня я попытался изменить этот класс, чтобы перечислить все дочерние окна определенного родительского окна.
Вот заголовочный файл:
родовое словоЯ вызываю функцию по:
родовое словоПроблема:
Я не совсем уверен, как передать дескриптор родительского окна функции обратного вызова в заголовке.Такое ощущение, что я все перепробовал, но всегда получаю такие ошибки: переменная hwnd не объявлена в ....
Проблема в том, что я не разбираюсь в классе на 100%.То, что я выяснил, комментируется.
Спасибо за любую помощь!
Решение
Вместо вызова EnumWindows
, который перечисляет все окна верхнего уровня на экране, вы можете вызвать EnumChildWindows
для перечисления дочерних окон данного родительского окна.Для этого вы можете добавить перегрузку enum_windows
в свой класс Handles
:
EnumChildWindows
- плохое имя для WNDENUMPROC
.Я предлагаю переименовать его во что-нибудь более уникальное, например, Handles_WndEnumProc
.