我使用GetTickCount()函数程序如下
void CComputerStarTimeDlg::OnButton1() 

DWORD dwStart = GetTickCount();  CTime t(dwStart);   UpdateData(true);   m_aa=t.Format("%Y-%M-%d");
   m_bb=t.Format("%H:%M:%S");
    
   UpdateData(false);
}    其中m_aa和m_bb是CString的EDIT的对应变量可是显示出明显不正确的开机时间,而且每次点击,得出不同的时间
按理说GetTickCount是开机后逃逸的秒数,是变化的,但是转化成时间应该是固定的阿?如何的得到正确的开机时间??

解决方案 »

  1.   

    不知道有什么API没有,UP一下
      

  2.   

    dwBeginTime =GetTickCount(); 得到时当前的时间.....经过一断时间GetTickCount()-dwBeginTime ;这样才是你的的时间间隔.
      

  3.   

    补充DWORD dwBeginTime;
    GetTickCount() 得到是 1/1000 秒
      

  4.   

    要得到正确的开机时间可以用系统当前时间减去GetTickCount的返回值,CTime tStart = CTime::GetCurrentTime() - CTimeSpan(0,0,0,GetTickCount()/1000);不过开机超过49.7天,GetTickCount的返回值又从0开始,这时你的到的开机时间就不对了
      

  5.   

    通过GetLocalTime得到当前时间然后通过GetTickCount得到自系统起来后流逝的时间。最后, 用当前时间 减去 流逝的时间, 即为系统启动时间