我已经在OnTimer()中编写了一个代码,每100ms调用一次,并给我时间应用程序在这里保持空闲状态是代码
void MyAppView::OnTimer(UINT_PTR nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if(nIDEvent == 3)
{
// Get the last input event info.
LASTINPUTINFO li;
li.cbSize = sizeof(LASTINPUTINFO);
::GetLastInputInfo(&li);
// Calculate the time elapsed in seconds.
DWORD te = ::GetTickCount();
int elapsed = (te - li.dwTime) / 100;
// Test against a preset timeout period in
// seconds.
if(5000 < elapsed)
{
// Call a function or set an application flag
// that can be acted on outside this function.
AfxMessageBox(_T("This session has timeout"));
}
}
}
我不知道这段代码出了什么问题,但我每次都过了= 0。 请让我知道我哪里出错了。 提前谢谢。
答案 0 :(得分:0)
我想你想要一个 float 计算,而不是整数...
float elapsed = (te - li.dwTime) / 100.0;