在控制台应用程序中工作的计时器
我正在尝试让计时器在我的 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接收数据,并且需要一种同时发送和接收的方法。
I'm trying to get a timer working in my c++ application.
I can define my timer:
#define IDT_TIMER WM_USER + 200
UINT Timeval;
UINT TimerID = 1;
UINT TimerMS = 20;
Start Stop Timer methods:
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
And I start the timer like this:
Timeval=StartTimer(TimerID);
However in my code the timer tick never fires:
void NAHDPbx::OnTimer(UINT nIDEvent)
{
StopTimer(TimerID);
//Do stuff
StartTimer(TimerID);
}
Any examples of getting a timer to work? My end goal is to receive data via UDP, and need a way to send and receive at the same time.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果控制台应用程序退出,计时器处理程序将超出范围,并且不会发生任何事情。
If the console application exits, the timer handler will go out of scope and nothing will happen.