Описание функции
EnumChildWindows
Перечисление дочерних окон для поиска по критерию.
EnumChildWindows(hwnd, @EnumChildProc(), @hfound)
Параметры
hwnd | Дескриптор окна. Если 0, то рабочий стол, функция ведёт себя как EnumWindows() |
@EnumChildProc() |
Имя функции обратного вызова |
@hfound |
Указатель на данные куда будет помещён найденный дескриптор |
Примечания
Если окно соответствует критерию, то необходимо выполнить ProcedureReturn 0, чтобы остановить перечисление, в противном случае использовать ProcedureReturn 1, чтобы продолжить для следующего окна. Нет необходимости проверять дескриптор hwnd в функции обратного вызова, так как функция сама заканчивает перечисление, когда все окна перечислены и больше окон нет.См. также
EnumWindowsПример
Procedure EnumChildProc(hwnd.l, *hwnd)
Protected classText${256} ; буфер
GetClassName_(hwnd, @classText$, 256)
If classText$ = "WindowClass_2"
GetWindowText_(hwnd, @classText$, 256)
If Left(classText$, 9) = "PureBasic"
PokeL(*hwnd, hwnd)
ProcedureReturn 0 ; останавливает перечисление
EndIf
EndIf
ProcedureReturn 1 ; продолжает перечисление
EndProcedure
Define hwnd
EnumChildWindows_(0, @EnumChildProc(), @hwnd)
Debug hwnd