blog

枪手亨利

博客园 首页 新随笔 联系 订阅 管理

获取Windows应用程序列表

Posted on 2005-09-27 08:36 TechLab 阅读(68) 评论(1)  编辑 收藏 收藏至365Key 所属分类: Others
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;
}
posted on 2006-01-13 10:13  henry  阅读(2658)  评论(0)    收藏  举报