在这里出发事件
CTestEvent *pEventObj= new CTestEvent();
pEventObj->StartupWriteLog ();
for(int i=0;i<100;i++)
{
//TRACE("%d ",i);
SetEvent(pEventObj->m_LogEvent [0]); } 这里响应事件
CTestEvent *pEvent= (CTestEvent *)lparam;
DWORD dwRet = 0; while(true)
{
dwRet = WaitForMultipleObjects(
pEvent->m_LogEvent[0],false,INFINITE);
if(dwRet ==WAIT_OBJECT_0 )
{
//if(pEvent->m_bEndThread )
// break;
TRACE("%d ",m_RecordCout);
m_RecordCout++;
}
}
为是么连续触发事件,会出现其中的事件不响应呢(在逐步调试下),如果直接运行则发现有从第二事件开始就不响应,我在线等待,谢谢
CTestEvent *pEventObj= new CTestEvent();
pEventObj->StartupWriteLog ();
for(int i=0;i<100;i++)
{
//TRACE("%d ",i);
SetEvent(pEventObj->m_LogEvent [0]); } 这里响应事件
CTestEvent *pEvent= (CTestEvent *)lparam;
DWORD dwRet = 0; while(true)
{
dwRet = WaitForMultipleObjects(
pEvent->m_LogEvent[0],false,INFINITE);
if(dwRet ==WAIT_OBJECT_0 )
{
//if(pEvent->m_bEndThread )
// break;
TRACE("%d ",m_RecordCout);
m_RecordCout++;
}
}
为是么连续触发事件,会出现其中的事件不响应呢(在逐步调试下),如果直接运行则发现有从第二事件开始就不响应,我在线等待,谢谢
是怎么回事?
dwRet = WaitForMultipleObjects(
pEvent->m_LogEvent[0],false,INFINITE);
这个函数应该有5个参数才对呀!
第一个是事件个数,最后一个大概是范围QS-ALLINTPUT
另外,你这一段是写在哪里响应事件的?