首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

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

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

热点排行