中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++控制臺用定時器實例代碼

發布時間:2020-10-24 23:12:34 來源:腳本之家 閱讀:192 作者:祥知道 欄目:編程語言

本文研究的主要是C++控制臺用定時器的相關實例,具體如下。

Timer在MFC程序中的使用

在MFC中有一個很好用的定時器函數。

  • 使用SetTimer()進行設置定時器
  • 使用KillTimer()關閉定時器
  • 在OnTimer()函數中,響應WM_TIMER這個消息,也就是定時器的處理函數。

源代碼

#define TIMER_UDP_QFX 3//定時器的ID
int Period = 1000;//1000ms的定時器
//設置一個定時器
SetTimer(TIMER_UDP_QFX, Period, NULL);

//在定時器處理函數中設置自己的處理代碼
void CFlightMissionPage::OnTimer(UINT_PTR nIDEvent)
{
  //UPD 更新界面
  if (TIMER_UDP_QFX == nIDEvent)
  {//如果定時器ID是 TIMER_UDP_QFX 時,進行處理
   //······
   //處理代碼
   //······
  }
}
//不需要定時器時,關閉定時器
KillTimer(TIMER_UDP_QFX);

Timer在控制臺程序中的使用

在對實時指標不是非常苛刻時,這個功能可以幫助我們完成很多功能。那么問題來了,這個可以用在一般控制臺程序中嗎?答案當然是肯定的。

需要用的函數

UINT_PTR SetTimer( HWND hWnd,       // handle to window
 UINT_PTR nIDEvent,   // timer identifier
 UINT uElapse,      // time-out value
 TIMERPROC lpTimerFunc  // timer procedure
 );

VOID CALLBACK TimerProc(
 HWND hwnd,     // handle to window
 UINT uMsg,     // WM_TIMER message
 UINT_PTR idEvent, // timer identifier
 DWORD dwTime    // current system time
);

源代碼

#include <Windows.h>

//控制臺消息響應
void CALLBACK TimerProc(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime)
{
  if(1 == idEvent)
  {//如果是定時器1
    ::MessageBeep(0);//Beep叫
  }

}

int main()
{

  int TimerID = 1;//Timer的ID是1
  int peried = 1000;//Timer的間隔是 1000ms

  //設置Timer  
  ::SetTimer(NULL, TimerID, peried, &TimerProc);

  ::MSG msg;
  while(::GetMessage(&msg, NULL, 0, 0))
  {
    ::DispatchMessage(&msg);
  }
}

總結

以上就是本文關于C++控制臺用定時器實例代碼的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

威信县| 天长市| 星子县| 湘西| 新巴尔虎右旗| 长沙县| 刚察县| 景泰县| 泰安市| 丰县| 石景山区| 昭苏县| 衡山县| 锡林郭勒盟| 体育| 汨罗市| 武乡县| 商南县| 铁力市| 泸州市| 沁水县| 嵊州市| 湘潭市| 洪江市| 宜宾市| 弥勒县| 蒙自县| 红原县| 柳州市| 商水县| 荥阳市| 海林市| 忻州市| 中卫市| 齐河县| 庐江县| 中西区| 峡江县| 宁河县| 澎湖县| 荆门市|