Вопрос

Пару недель назад кто-то здесь помог мне с написанием класса, который перечисляет все главные окна.

Сегодня я попытался изменить этот класс, чтобы перечислить все дочерние окна определенного родительского окна.

Вот заголовочный файл:

родовое слово

Я вызываю функцию по:

родовое слово

Проблема:

Я не совсем уверен, как передать дескриптор родительского окна функции обратного вызова в заголовке.Такое ощущение, что я все перепробовал, но всегда получаю такие ошибки: переменная hwnd не объявлена в ....

Проблема в том, что я не разбираюсь в классе на 100%.То, что я выяснил, комментируется.

Спасибо за любую помощь!

Это было полезно?

Решение

Вместо вызова EnumWindows , который перечисляет все окна верхнего уровня на экране, вы можете вызвать EnumChildWindows для перечисления дочерних окон данного родительского окна.Для этого вы можете добавить перегрузку enum_windows в свой класс Handles:

родовое слово

EnumChildWindows - плохое имя для WNDENUMPROC.Я предлагаю переименовать его во что-нибудь более уникальное, например, Handles_WndEnumProc.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top