例如我想用while()语句来查询一个事件有没有触发,触发了就执行相应的命令,(while里面有i++的指令,否则就超时)
执行玩了相应命令之后,还要删除事件,以上的功能如何实现阿?(这样似乎比较浪费资源阿,但是我想这样子实现一个功能,有哪位达人帮忙一下)

解决方案 »

  1.   

    用WaitForSingleObject代替while()你MSDN或者google一下WaitForSingleObject。
      

  2.   


      switch(WaitForSingleObject( hEvet, tmOutTick )) //等待时间 最长超时tmOutTick毫秒
      {
      case(WAIT_OBJECT_0): //The state of the specified object is signaled. 
        {
          //事件触发 添加代码
          //
          break;
        }
      case(WAIT_TIMEOUT):// The time-out interval elapsed, and the object's state is nonsignaled. 
        {
          //超时
          break;
        }
      case( WAIT_FAILED ):// To get extended error information, call GetLastError. 
        {
          DWORD dwErr = GetLastError();
          ASSERT(0);
        }
      }