GetWindow函数的用法有很多,通过传递不同的窗口参数,可以返回不同的窗口列表,传递GW_HWNDFIRST可以获得窗口Z-Order的所有WINDOWS。下面的函数把所有的Z-Order窗口名称添加到一个CListBox中:
//获取任务列表且添加到列表框中
BOOL GetAppList(CListBox &LstBox)
{
CString strCaption;
LstBox.ResetContent();
ASSERT_VALID(AfxGetMainWnd());
CWnd *pWnd=AfxGetMainWnd()->GetWindow(GW_HWNDFIRST);
if(pWnd==NULL)
return FALSE;
while(pWnd)
{
if(pWnd->IsWindowVisible() && pWnd->GetWindowTextLength() && !pWnd->GetOwner())
{
pWnd->GetWindowText(strCaption);
LstBox.AddString(strCaption);
}
pWnd=pWnd->GetWindow(GW_HWNDNEXT);
}
return TRUE;
}