15,471
社区成员
发帖
与我相关
我的任务
分享
t = MessageBox(this->GetSafeHwnd(),"确认下发参数?","下发参数",MB_YESNO | MB_ICONWARNING);
if(t == IDNO) return;
RefreshResult=AfxBeginThread(DownloadParaThread,(LPVOID)&index);
if (RefreshResult != NULL)
{
DWORD dwRet=0;
MSG msg;
while (TRUE)
{
dwRet = MsgWaitForMultipleObjects (1, &RefreshResult->m_hThread, FALSE, INFINITE, QS_ALLINPUT);
if(dwRet==WAIT_OBJECT_0)
break;
else if(dwRet==WAIT_OBJECT_0 + 1)
{
PeekMessage(&msg, NULL, 0, 0, PM_REMOVE);
DispatchMessage(&msg);
}
else
break;
}
RefreshResult = NULL;
}
直观上感觉是在下发send函数调用之后,Onreceive函数就无法被触发,但是偶尔又会有被触发的情况,也不是每次都失败,只是失败的概率比较大。但是如果将前面MessageBox代码段删掉之后,OnReceive函数就可以正常触发。所以才定位到MessageBox的影响。你们感觉如何呢?