我写了一个需要检测硬件的函数,执行时间比较慢,我现在将这个函数放在系统的OnTimer()消息映射函数中,发送WM_TIMER消息的SetTimer(1, 100, NULL);我设为100毫秒,由于WM_TIMER的优先级很低,所以这个函数只在启动时执行一次。请大家帮我想想,能不能用别的方法。
由于我对线程不是很熟悉,所以我想创建一线程,那么应该怎样写呢以及如何通过系统时间进行处理,请说的相对详细些,然后我好查书,看相关的内容。

解决方案 »

  1.   

    去MSDN里查查: afxBeginThread();
      

  2.   

    mfc的AfxBeginThread (),很好用的阿,你可以通过一个辅助线程一直监视硬件,如果硬件状态发生变化发送一个消息给你的主线程就可以了!
      

  3.   

    1.对于界面相关的工作,一般放在OnTimer()里面执行;
    另外,OnTimer()不是严格的按照SetTimer()中的时间间隔执行的;2.对于工作线程,例如你的这种情况,建议放在单独的线程中;
    可以用AfxBeginThread()也可以用CreateThread();
    如果你需要严格指定执行的间隔时间,需要在线程函数中判断;