C++控制臺(tái)用定時(shí)器實(shí)例代碼
本文研究的主要是C++控制臺(tái)用定時(shí)器的相關(guān)實(shí)例,具體如下。
Timer在MFC程序中的使用
在MFC中有一個(gè)很好用的定時(shí)器函數(shù)。
- 使用SetTimer()進(jìn)行設(shè)置定時(shí)器
- 使用KillTimer()關(guān)閉定時(shí)器
- 在OnTimer()函數(shù)中,響應(yīng)WM_TIMER這個(gè)消息,也就是定時(shí)器的處理函數(shù)。
源代碼
#define TIMER_UDP_QFX 3//定時(shí)器的ID int Period = 1000;//1000ms的定時(shí)器 //設(shè)置一個(gè)定時(shí)器 SetTimer(TIMER_UDP_QFX, Period, NULL); //在定時(shí)器處理函數(shù)中設(shè)置自己的處理代碼 void CFlightMissionPage::OnTimer(UINT_PTR nIDEvent) { //UPD 更新界面 if (TIMER_UDP_QFX == nIDEvent) {//如果定時(shí)器ID是 TIMER_UDP_QFX 時(shí),進(jìn)行處理 //······ //處理代碼 //······ } } //不需要定時(shí)器時(shí),關(guān)閉定時(shí)器 KillTimer(TIMER_UDP_QFX);
Timer在控制臺(tái)程序中的使用
在對(duì)實(shí)時(shí)指標(biāo)不是非常苛刻時(shí),這個(gè)功能可以幫助我們完成很多功能。那么問題來了,這個(gè)可以用在一般控制臺(tái)程序中嗎?答案當(dāng)然是肯定的。
需要用的函數(shù)
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> //控制臺(tái)消息響應(yīng) void CALLBACK TimerProc(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime) { if(1 == idEvent) {//如果是定時(shí)器1 ::MessageBeep(0);//Beep叫 } } int main() { int TimerID = 1;//Timer的ID是1 int peried = 1000;//Timer的間隔是 1000ms //設(shè)置Timer ::SetTimer(NULL, TimerID, peried, &TimerProc); ::MSG msg; while(::GetMessage(&msg, NULL, 0, 0)) { ::DispatchMessage(&msg); } }
總結(jié)
以上就是本文關(guān)于C++控制臺(tái)用定時(shí)器實(shí)例代碼的全部內(nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
- C++11實(shí)現(xiàn)簡易定時(shí)器的示例代碼
- C++定時(shí)器Timer在項(xiàng)目中的使用方法
- C++?超詳細(xì)分析數(shù)據(jù)結(jié)構(gòu)中的時(shí)間復(fù)雜度
- C++11時(shí)間日期庫chrono的使用
- c++11多種格式時(shí)間轉(zhuǎn)化為字符串的方法實(shí)現(xiàn)
- C++使用chrono庫處理日期和時(shí)間的實(shí)現(xiàn)方法
- 最短時(shí)間學(xué)會(huì)基于C++實(shí)現(xiàn)DFS深度優(yōu)先搜索
- C++定時(shí)器實(shí)現(xiàn)和時(shí)間輪介紹
相關(guān)文章
C++ 重載與重寫的區(qū)別與實(shí)現(xiàn)
在面向?qū)ο笳Z言中,經(jīng)常提到重載與重寫,本文主要介紹了C++ 重載與重寫的區(qū)別與實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01C++實(shí)現(xiàn)LeetCode(21.混合插入有序鏈表)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(21.混合插入有序鏈表),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07