定时器
void CC::OnTimer(UINT nIDEvent) 
{
switch(nIDEvent)
{
case 1:  
break;
.
.
case 4:
fUpSpeed += m_UpSpeed; //1s累加一次       //KillTimer(4);
break;
 
}

CFormView::OnTimer(nIDEvent);
}
定时器作用
if (m_bSaveH)
{
m_rfile2.Write((LPCTSTR)strNH,strNH.GetLength());
m_rfile2.Flush();
SetTimer( 4, 1000, NULL);   //如果此处改为定时100ms定时器就起作用,而1000ms则不起作用?
}
杀掉定时器
if(m_bSaveH)
{
m_rfile2.Close();  //关闭文件
m_bSaveH = FALSE;
fUpSpeed = 0;
KillTimer(4);

GetDlgItem(IDC_BSAVE)->EnableWindow(!m_bSave);
}

解决方案 »

  1.   

    逻辑问题
    没有这种道理说100ms工作1000ms就不工作
    检查代码,查看逻辑
      

  2.   

    定时器作用
    if (m_bSaveH)
    {
    m_rfile2.Write((LPCTSTR)strNH,strNH.GetLength());
    m_rfile2.Flush();
    SetTimer( 4, 1000, NULL);   //如果此处改为定时100ms定时器就起作用,而1000ms则不起作用?
    }
    杀掉定时器
    if(m_bSaveH)
    {
    m_rfile2.Close();  //关闭文件
    m_bSaveH = FALSE;
    fUpSpeed = 0;
    KillTimer(4);

    GetDlgItem(IDC_BSAVE)->EnableWindow(!m_bSave);
    }二个if都一样的条件???
      

  3.   

    lizmei001(暗黑)
    两个if的位置不同
      

  4.   

    删除CFormView::OnTimer(nIDEvent);试试。
      

  5.   

    如果设了多个定时器,你用定时器函数TimerProc试试?