[MFC]擷取線程退出碼

來源:互聯網
上載者:User
執行個體——擷取線程退出碼1.添加兩個CWinThread子類CMyThread1,CMyThread2;右擊添加類-->選擇MFC類-->類名:CMyThread1,CMyThread2;基類:CWinThread-->完成
// MyThread1.cpp : 實現檔案BOOL CMyThread1::InitInstance(){// TODO: 在此執行任意逐線程初始化AfxEndThread(1000);//線程1的退出碼return TRUE;}

// MyThread2.cpp : 實現檔案BOOL MyThread2::InitInstance(){// TODO: 在此執行任意逐線程初始化AfxEndThread(2000);//線程2的退出碼return TRUE;}

2.

CGetExitCodeThreadDlg::CGetExitCodeThreadDlg(CWnd* pParent /*=NULL*/): CDialogEx(CGetExitCodeThreadDlg::IDD, pParent){m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);//成員變數// CWinThread* pThread1;// CWinThread* pThread2;pThread1=NULL;pThread2=NULL;}CGetExitCodeThreadDlg::~CGetExitCodeThreadDlg(){if (pThread1){delete pThread1;pThread1=NULL;}if (pThread2){delete pThread2;pThread2=NULL;}}//啟動線程1按鈕事件void CGetExitCodeThreadDlg::OnBnClickedButtonStart1(){ if (pThread1){delete pThread1;pThread1=NULL;}pThread1=AfxBeginThread(RUNTIME_CLASS(CMyThread1),THREAD_PRIORITY_ABOVE_NORMAL,0,CREATE_SUSPENDED);pThread1->m_bAutoDelete=FALSE;pThread1->ResumeThread();}//啟動線程2按鈕事件void CGetExitCodeThreadDlg::OnBnClickedButtonStart2(){ if (pThread2){delete pThread2;pThread2=NULL;}pThread2=AfxBeginThread(RUNTIME_CLASS(CMyThread2),THREAD_PRIORITY_ABOVE_NORMAL,0,CREATE_SUSPENDED);pThread2->m_bAutoDelete=FALSE;pThread2->ResumeThread();}//擷取線程1結束碼按鈕事件void CGetExitCodeThreadDlg::OnBnClickedButtonExitcode1(){ if (pThread1 == NULL){return;}DWORD exitCode=0;if (::GetExitCodeThread(pThread1->m_hThread,&exitCode)){if (exitCode == STILL_ACTIVE){AfxMessageBox(_T("線程1已經啟動"));}else{CString strCode;strCode.Format(_T("退出碼:%d"),exitCode);AfxMessageBox(strCode);}}}//擷取線程2結束碼按鈕事件void CGetExitCodeThreadDlg::OnBnClickedButtonExitcode2(){ if (pThread2 == NULL){return;}DWORD exitCode=0;if (::GetExitCodeThread(pThread2->m_hThread,&exitCode)){if (exitCode == STILL_ACTIVE){AfxMessageBox(_T("線程1已經啟動"));}else{CString strCode;strCode.Format(_T("退出碼:%d"),exitCode);AfxMessageBox(strCode);}}}

3.結果圖

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.