通过不同的UID标记,在消息响应函数中通过判断不同的UID进行不同的处理

解决方案 »

  1.   

    SetTime()不是有个nid吗,平常我们用SetTimer都是不用它的,现在有用了。
    你在两个SetTimer里面设置不同的nid值,比如1和2。
    然后:OnTimer(UINT uid)
    {
     if(uid == 1)
    {
      //todo 
    }
    if(uid == 2)
    {
       //todo
    }
    }
      

  2.   

    settimer(1,..);
    settimer(2,..);
    OnTimer(...)
    {
    if(nEvent == 1)
    {
    }
    else if(nEvent ==2)
    {
    }
    Cxxxx::OnTimer();
    }
      

  3.   

    参数 UINT nIDEvent 
    就是你在SetTimer中的计时器的号(第一个参数)
      

  4.   

    每次调用SetTimer()都有一个返回的事件ID,在你的OnTimer(UINT nIDEvent)函数处理的时候,对不同的ID做不同的处理!
      

  5.   

    可以到vcexp.126.com的编程经验里看看,那里写的很详细
      

  6.   

    有可能,SetTimer的最后一个参数就是定义处理Timer的消息的函数指定!要同时触发的话用一个信号量来做吧,开两个线程在wait这个信号量,一有信号就"同时"进入SetTimer其实这是一个假象以为同时,想想cpu或是说系统就只有一个,不可能在同一时刻处理两个语句!可能比在一个线程里写前后两句执行的间隔还长!这就是多任务在实时控制中不能用的原因吧!