こんにちわ、初めて投稿するものです。
二つ子スレッドを作成してメインフレームのOnClose()で終わるのを待つプログラムを作成したのですが、なぜかGetMessage(&msg,GetSafeHwnd(),NULL,NULL)を省くと子スレッドのAfxMessageBox()がブロックされてしまいます。何故なんでしょうか??
void CMainFrame::OnClose()
{
...
for(int i = 0 ;i < MAX_THREAD_NUM ;i++){
do{
MSG msg;
これです-> GetMessage(&msg,GetSafeHwnd(),NULL,NULL);
GetExitCodeThread(g_hdl[i], &dwExitCode);
}while(dwExitCode == STILL_ACTIVE);
}
...
}
DWORD WorkProc1(LPVOID pParm){
...
AfxMessageBox("First Thread");
...
}
DWORD WorkProc2(LPVOID pParm){
...
AfxMessageBox("Second Thread");
...
}
ツイート | ![]() |