读书人

c++/mfc 怎么实现类似任务管理器中的“

发布时间: 2012-03-19 22:03:05 作者: rapoo

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 );

读书人网 >C++

热点推荐