2011-09-26 117 views
1

我試圖讓我的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接收數據,並且需要一種同時發送和接收的方式。

+1

你在使用什麼API?我猜你正在使用WIN32 API,但是在任何人都能弄清楚你犯了什麼錯誤之前,你需要顯示更多的代碼,比如你的主函數。 – ksming

+1

可能的重複[我可以在控制檯C++應用程序中使用SetTimer()API](http://stackoverflow.com/questions/7531650/can-i-use-a-settimer-api-in-a-console- C-APP) –

回答

0

如果控制檯應用程序退出,定時器處理程序將超出範圍並且什麼也不會發生。

相關問題