MFC中获取系统无任何操作的时间

例如:系统无操作xx分钟就关闭。

// 1. 在OnInitDialog中 ,设置定时器
SetTimer(1, 1000, NULL);

// 2. 用类向导添加 WM_TIME 消息响应函数,如下

void ChelloDlg::OnTimer(UINT_PTR nIDEvent)
{
	// GetTickCount 返回从操作系统启动所经过(elapsed)的毫秒数
	LASTINPUTINFO lii = { sizeof(lii) };
	::GetLastInputInfo(&lii);
	DWORD dwIdleTime = ::GetTickCount() - lii.dwTime;//空闲时间,即无任何操作的时间。(毫秒)
	if (dwIdleTime > 5000) // > 5秒
	{
		SetWindowText(_T("五秒无任何操作。。。"));
	}
	else
	{
		SetWindowText(_T("有操作。"));
	}

	CDialogEx::OnTimer(nIDEvent);
}

 

posted @ 2020-03-11 21:44  htj10  阅读(339)  评论(0编辑  收藏  举报
TOP