VC中不卡的延时

void CMy15454Dlg::OnBnClickedButton1()

{                  

	int ts0=0,tm0=0,ts1=0,tm1=0;

	CTime Time_t0 = CTime::GetCurrentTime();

	ts0 = Time_t0.GetSecond(); //获取当前秒数

	tm0 = Time_t0.GetMinute(); //获取当前分钟数

	while (1)                  //延时3分钟

	{

		MSG msg;

		while(PeekMessage(&msg,NULL,0,0,PM_REMOVE))

		{

			TranslateMessage(&msg);

			DispatchMessage(&msg);

		} 

		CTime Time_t1 = CTime::GetCurrentTime();

		ts1 = Time_t1.GetSecond();

		tm1 = Time_t1.GetMinute();

		if((ts1-ts0)>=10)	break;

		//if((abs(tm1-tm0)>=3||abs(tm1-tm0)<=57)&&(ts1==ts0))	break;

	}

	AfxMessageBox(_T("yes over"));

}

你可能感兴趣的:(VC)