窗体控件遍历有关问题

窗体控件遍历问题
如何遍历某一个窗口下的所有子窗口以及子窗口的下层窗口?

就是spy++能查到的程序下的所有的子窗口。

因为我需要修改一个控件的属性,不确定窗体,只确定控件。

请帮忙给出个思路和逻辑关系,谢谢。
使用GetWindow或者EnumChildWindows都行。

我只能写出遍历子窗口,但不知道遍历子窗口的子窗口该怎么写了。

------解决方案--------------------
一样的啊,还不是用GetWindow/EnumChildWindows()
------解决方案--------------------
同一楼。可参考下简易spy++的源码
http://download.****.net/download/jingxianmoyang/328722
------解决方案--------------------
BOOL CALLBACK EnumChildProc( HWND hwnd, LPARAM lParam )
{
if(IsWindow(hwnd))
{
CString str;
str.Format(L"parent hwnd: %0x, child hwnd:%0x \r\n", (HWND)lParam, hwnd);
OutputDebugString(str);
if(!EnumChildWindows(hwnd, EnumChildProc, (LPARAM)hwnd))
{
//error stop enum
return TRUE;
}
}
return FALSE;
}
bool GetChildWindow(HWND hwnd)
{
return EnumChildWindows(hwnd, (WNDENUMPROC)EnumChildProc, (LPARAM)hwnd);
}

当遇到问题时,最好自已查一下MSDN,上面都有详细的说明。