c++/mfc 怎么实现类似任务管理器中的“切换”功能?或者跟据进程ID来恢复窗口

c++/mfc 如何实现类似任务管理器中的“切换”功能?或者跟据进程ID来恢复窗口
c++/mfc 如何实现类似任务管理器中的“切换”功能?或者跟据进程ID来恢复窗口

------解决方案--------------------
枚举窗口,拿到句柄和id,然后发消息
------解决方案--------------------
楼上是一种解决方法,建议到MFC区提问。
------解决方案--------------------
C/C++ code

void CTaskPage::OnBnClickedSwitchto()
{
    CString iSelectedText;
    POSITION pos = m_taskList.GetFirstSelectedItemPosition(); 
    if (pos == NULL
        ) {
        TCHAR szMsg[MAX_PATH];
        ::LoadString(m_hModule, IDS_CHOICEONECOL, szMsg, MAX_PATH);
        MessageBox(szMsg);
    } else {
        int iSelectedID = (int)m_taskList.GetNextSelectedItem(pos);
        TASK_DATA* pSwitchItem = (TASK_DATA *)m_taskList.GetItemData(iSelectedID);

        ::SetForegroundWindow(pSwitchItem->hWnd);
        ::ShowWindow(pSwitchItem->hWnd, SW_RESTORE);

        CTaskMgrDlg* pTaskMgrDlg = (CTaskMgrDlg*)GetParent();
        if (pTaskMgrDlg->m_bSwitchMinmize
            ) {
            pTaskMgrDlg->ShowWindow(SW_MINIMIZE);
        }
    }
}

------解决方案--------------------
HWND hWnd = ::FindWindow( "ClassName", "CaptionName" );
::ShowWindow(hWnd ,SW_RESTORE); 
::SetForegroundWindow( hWnd );