根据MSDN EnumChildWindows 函数: BOOL WINAPI EnumChildWindows( _In_opt_ HWND hWndParent, _In_ WNDENUMPROC lpEnumFunc, _In_ LPARAM lParam ); hWndParent: 需要枚举父窗口的句柄,如果此值为空EnumWindows函数 lpEnumFunc: 定义回调函数的指针 (回调函数名) lParam: 传递给回调函数的值 BOOL WINAPI EnumWindows( _In_ WNDENUMPROC lpEnumFunc, _In_ LPARAM lParam ); EnumWindows函数:通过句柄枚举屏幕上的所有顶层窗口,定义一个回调函数返回true则继续枚举直到最后一个顶层窗口回调函数返回FALSE EnumChildProc回调函数: BOOL CALLBACK EnumChildProc( _In_ HWND hwnd, _In_ LPARAM lParam ); hwnd:子窗口的句柄 lParam:EnumChildWindows传递过来的值 定义一个回调函数用于接收子窗口句柄 EnumChildWindows 第二个参数WNDENUMPROC指向的回调函数EnumChildProc是函数名 遍历子窗口: 1.定义EnumChildWindows需要遍历的函数 2.定义一个回调函数,返回值为true 直到最后一个窗口或返回值为FALSE停止遍历 EnumChildWindows(hParent, EnumChildWndProc, (LPARAM)hListbox1); BOOL CALLBACK EnumChildWndProc(HWND hWnd, LPARAM lParam) |
|