您可以使用以下步骤来使用FindWindowEx遍历某个窗口里的所有子窗口:
例如:HWND hWndParent = FindWindow(NULL, _T(“父窗口标题”));
例如:HWND hWndChild = FindWindowEx(hWndParent, NULL, _T(“子窗口类名”), NULL);
例如:TCHAR szWindowTitle[256];
GetWindowText(hWndChild, szWindowTitle, sizeof(szWindowTitle));
例如:TCHAR szClassName[256];
GetClassName(hWndChild, szClassName, sizeof(szClassName));
处理子窗口,例如输出子窗口的标题和类名,或者递归调用FindWindowEx函数遍历子窗口的子窗口。
使用GetWindow函数获取下一个兄弟窗口的句柄。GetWindow函数的参数为当前窗口的句柄和指定关系的窗口。
例如:hWndChild = GetWindow(hWndChild, GW_HWNDNEXT);
下面是一个示例代码,演示了如何使用FindWindowEx遍历某个窗口里的所有子窗口:
HWND hWndParent = FindWindow(NULL, _T("父窗口标题"));
if (hWndParent != NULL) {
HWND hWndChild = FindWindowEx(hWndParent, NULL, NULL, NULL);
while (hWndChild != NULL) {
TCHAR szWindowTitle[256];
GetWindowText(hWndChild, szWindowTitle, sizeof(szWindowTitle));
TCHAR szClassName[256];
GetClassName(hWndChild, szClassName, sizeof(szClassName));
// 处理子窗口
// 例如:输出子窗口的标题和类名
_tprintf(_T("子窗口标题:%s,类名:%s\n"), szWindowTitle, szClassName);
// 获取下一个兄弟窗口
hWndChild = GetWindow(hWndChild, GW_HWNDNEXT);
}
}
请注意,以上代码仅为示例,实际应用时可以根据需要进行适当的修改。