如何获得子窗口

来源:百度知道 编辑:UC知道 时间:2024/05/24 03:44:42
已知父窗口和子窗口的名字,怎么求得子窗口的句柄啊?
我用CWnd *p=CWnd::FindWindow(NULL,"游戏");求得父窗口的句柄。如何继续得到子窗口的句柄啊?求代码。
另外,CWnd和HWND有什么区别啊?
CWnd *p=CWnd::FindWindow(NULL,"游戏");
如果用FindWindowEx的话第一个参数填什么呢?是上句获得的*p吗?第二个,第三个参数都是NULL吗?
同样的,GetWindow的第一个参数填什么呢?也是填*p吗?但是类型不匹配啊?

用GetWindow
HWND GetWindow(
HWND hWnd, // handle to original window
UINT uCmd // relationship flag
);
第二个参数设为GW_CHILD
CWnd是MFC中的一个类,其中封装了HWND,而HWND是一个句柄,代表一个windows下的窗口,CWnd实例化就可以生成一个窗口,CWnd有个成员变量m_hWnd保存了这个窗口的句柄
GetWindow第一个参数就是父窗口句柄,可以从CWnd得到,如HWND hwnd=p->m_hWnd

用FindWindowEx

static CWnd* FindWindowEx(
HWND hwndParent,
HWND hwndChildAfter,
LPCTSTR lpszClass,
LPCTSTR lpszWindow
);