在控制台应用程序中工作的计时器
问题描述:
我试图让我的C++应用程序中有一个计时器。在控制台应用程序中工作的计时器
我可以定义我的定时器:
#define IDT_TIMER WM_USER + 200
UINT Timeval;
UINT TimerID = 1;
UINT TimerMS = 20;
开始停止计时器方法:
UINT NAHDPbx::StartTimer (UINT TimerID)
{
UINT TimerVal;
TimerVal = thewindow->SetTimer(TimerID, TimerMS, NULL); // Starting the Timer
return TimerVal;
}// end StartTimer
BOOL NAHDPbx::StopTimer (UINT TimerID)
{
if (!KillTimer (TimerID))
{
return FALSE;
}
return TRUE;
} // end StopTimer
我启动定时器这样的:
Timeval=StartTimer(TimerID);
但是在我的代码计时器剔不发火:
void NAHDPbx::OnTimer(UINT nIDEvent)
{
StopTimer(TimerID);
//Do stuff
StartTimer(TimerID);
}
让计时器工作的任何例子?我的最终目标是通过UDP接收数据,并且需要一种同时发送和接收的方式。
答
如果控制台应用程序退出,定时器处理程序将超出范围并且什么也不会发生。
你在使用什么API?我猜你正在使用WIN32 API,但是在任何人都能弄清楚你犯了什么错误之前,你需要显示更多的代码,比如你的主函数。 – ksming
可能的重复[我可以在控制台C++应用程序中使用SetTimer()API](http://stackoverflow.com/questions/7531650/can-i-use-a-settimer-api-in-a-console- C-APP) –