Click here to Skip to main content
15,892,005 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: how to create dynamically popupmenu? Pin
yogish29313-Jan-11 0:54
yogish29313-Jan-11 0:54 
AnswerRe: how to create dynamically popupmenu? Pin
JohnCz14-Jan-11 12:33
JohnCz14-Jan-11 12:33 
QuestionRe:MessageBox not showing Pin
Debojyoti Majumder12-Jan-11 19:44
Debojyoti Majumder12-Jan-11 19:44 
AnswerRe:MessageBox not showing Pin
Andrew Brock12-Jan-11 20:00
Andrew Brock12-Jan-11 20:00 
QuestionRe:MessageBox not showing Pin
Cool_Dev12-Jan-11 21:15
Cool_Dev12-Jan-11 21:15 
AnswerRe:MessageBox not showing Pin
Hamid_RT12-Jan-11 22:39
Hamid_RT12-Jan-11 22:39 
QuestionGetting logical drives of all Physical drives Pin
learningvisualc12-Jan-11 19:03
learningvisualc12-Jan-11 19:03 
AnswerRe: Getting logical drives of all Physical drives Pin
Andrew Brock12-Jan-11 19:17
Andrew Brock12-Jan-11 19:17 
QuestionHow can Terminate AfxbeginThread ? Pin
Le@rner12-Jan-11 18:39
Le@rner12-Jan-11 18:39 
AnswerRe: How can Terminate AfxbeginThread ? [modified] Pin
Andrew Brock12-Jan-11 18:58
Andrew Brock12-Jan-11 18:58 
GeneralRe: How can Terminate AfxbeginThread ? [modified] Pin
Le@rner12-Jan-11 19:12
Le@rner12-Jan-11 19:12 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Andrew Brock12-Jan-11 19:24
Andrew Brock12-Jan-11 19:24 
GeneralRe: How can Terminate AfxbeginThread ? [modified] Pin
Le@rner12-Jan-11 19:26
Le@rner12-Jan-11 19:26 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Andrew Brock12-Jan-11 20:35
Andrew Brock12-Jan-11 20:35 
Threads will very rarely close immediately after you tell it to. The reasons are too complex for me to explain here, but that isn't very important to this.
All that matters is that you wait for it to close. We do this with WaitForSingleObject http://msdn.microsoft.com/en-us/library/ms687032(v=vs.85).aspx[^], which will wait for almost anything that has a HANDLE
Th->PostThreadMessage(CM_KILL_THREAD, 0, 0);
switch (WaitForSingleObject(Th->m_hThread, 5000)) { //5000 = 5sec, this can be INFINITE, but if the thread never exits, then this will hang for ever
	case WAIT_OBJECT_0:
		TRACE("Thread terminated.\n");
		break;

	case WAIT_TIMEOUT:
		TRACE("Wait for terminate timed out.\n");
		//You may consider using TerminateThread here if you REALLY REALLY want the thread gone
		break;

	default:
		TRACE("WaitForSingleObject failed with error %d.\n", GetLastError());
		break;
}
//Now that the thread is gone, we can continue, say get the exit code that was passed to ExitThread()
DWORD nRetCode;
GetExitCodeThread(hRemoteThread, &nRetCode);


Be very careful with the earlier suggestion of TerminateThread, it can end badly. See http://msdn.microsoft.com/en-us/library/ms686717(v=vs.85).aspx[^] for more details
GeneralRe: How can Terminate AfxbeginThread ? Pin
Le@rner12-Jan-11 20:40
Le@rner12-Jan-11 20:40 
AnswerRe: How can Terminate AfxbeginThread ? [modified] Pin
Andrew Brock12-Jan-11 20:58
Andrew Brock12-Jan-11 20:58 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Le@rner12-Jan-11 21:17
Le@rner12-Jan-11 21:17 
AnswerRe: How can Terminate AfxbeginThread ? Pin
Andrew Brock12-Jan-11 21:21
Andrew Brock12-Jan-11 21:21 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Le@rner12-Jan-11 21:30
Le@rner12-Jan-11 21:30 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Andrew Brock12-Jan-11 22:26
Andrew Brock12-Jan-11 22:26 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Le@rner12-Jan-11 23:13
Le@rner12-Jan-11 23:13 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Andrew Brock13-Jan-11 0:11
Andrew Brock13-Jan-11 0:11 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Le@rner12-Jan-11 23:42
Le@rner12-Jan-11 23:42 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Andrew Brock12-Jan-11 23:56
Andrew Brock12-Jan-11 23:56 
GeneralRe: How can Terminate AfxbeginThread ? Pin
Le@rner12-Jan-11 23:59
Le@rner12-Jan-11 23:59 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.