在控制台应用程序中工作的计时器

发布于 2024-12-06 13:53:12 字数 890 浏览 2 评论 0原文

我正在尝试让计时器在我的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

乖乖 2024-12-13 13:53:12

如果控制台应用程序退出,计时器处理程序将超出范围,并且不会发生任何事情。

If the console application exits, the timer handler will go out of scope and nothing will happen.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文