Wait = WaitForMultipleObjects(2,hObjects,TRUE,INFINITE); /*第一个参数为信号量个数 2,第二个为指针,第三个如果为 TRUE 函数要等待两个信号量都 被 SetEvent 才返回,返回值为最后一个 SetEvent 的 WAIT_OBJECT_0+i;而为 FALSE 则只要有一个被 SetEvent 就返回,返回值 为 WAIT_OBJECT_0+i 即信号量在数组中的位置 +WAIT_OBJECT_0 */ if (dwWait == WAIT_OBJECT_0) AfxMessageBox("fcuk 1 "); //开始 ping if (dwWait == WAIT_OBJECT_0 + 1) AfxMessageBox("fcuk 2"); ResetEvent(hObjects[1]);
ResetEvent(hObjects[0]); } } #include
/* 调用_beginthread, _endthread 得包涵这个头文件*/ _beginthreadex(NULL, 0, WorkThreadProc, (void*) this, 0, 0); //第三种创建线程的方法: HANDLE thread; DWORD threadrid; //线程 ID DWORD WINAPI sniff(LPVOID no){} //线程函数这样定义 thread=CreateThread(NULL, //安全属性 0, //栈大小 sniff, //要创建的线程名 NULL, //参数(一般为调用线程的指针) 0, //创建标志 &;threadrid); //线程 ID CloseHandle(thread); //操作数据库************************************************** //在 stdafx.h 中加入 #include //1,用类向导,建立基于 CRecordset 或 CDaoRecordset 的新子类,并选择数据源 m_setComplete //2,添加 if ( ! m_setComplete . IsOpen () ) // if the recordset isn't already open.. m_setComplete . Open (); // open it m_setComplete . AddNew (); // begin the add m_setComplete . m_strCallsign = strCallsign; // change the recordset members m_setComplete . m_strFrequency = strFrequency; m_setComplete . m_strCity = strCity; m_setComplete . m_strState = strState; m_setComplete . m_strInput = strInput; m_setComplete . Update (); // complete the add by