BOOL CCloudForensicsBaiduNetDiskDlg::EndThread()
{
if(!m_pThread)
return FALSE;
DWORD uExitCode;
GetExitCodeThread(m_pThread->m_hThread,&uExitCode);
if(uExitCode == STILL_ACTIVE)
{
if(GetSafeHwnd())
{
SetTimer(123,1000,NULL);
}
else
{
DWORD dwWaitResult = WaitForSingleObject(m_pThread->m_hThread, 10000);
ASSERT(WAIT_FAILED != dwWaitResult );
if(WAIT_TIMEOUT == dwWaitResult )
{
if(!ForceTerminate())
{
CDialogEx::OnCancel();
return FALSE;
}
CDialogEx::OnCancel();
}
}
}
return TRUE;
}
BOOL CCloudForensicsBaiduNetDiskDlg::ForceTerminate()
{
BOOL bRes = TRUE;
if(m_pThread && m_pThread->m_hThread)
{
bRes = TerminateThread(m_pThread->m_hThread,0);
SAFE_DELETE(m_pThread);
}
return bRes;
}
mfc强行关闭线程
最新推荐文章于 2023-04-03 09:26:28 发布