C++控制臺用定時器實例代碼
更新時間:2018年02月03日 16:01:06 作者:祥知道
這篇文章主要介紹了C++控制臺用定時器實例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
本文研究的主要是C++控制臺用定時器的相關(guān)實例,具體如下。
Timer在MFC程序中的使用
在MFC中有一個很好用的定時器函數(shù)。
- 使用SetTimer()進(jìn)行設(shè)置定時器
- 使用KillTimer()關(guān)閉定時器
- 在OnTimer()函數(shù)中,響應(yīng)WM_TIMER這個消息,也就是定時器的處理函數(shù)。
源代碼
#define TIMER_UDP_QFX 3//定時器的ID int Period = 1000;//1000ms的定時器 //設(shè)置一個定時器 SetTimer(TIMER_UDP_QFX, Period, NULL); //在定時器處理函數(shù)中設(shè)置自己的處理代碼 void CFlightMissionPage::OnTimer(UINT_PTR nIDEvent) { //UPD 更新界面 if (TIMER_UDP_QFX == nIDEvent) {//如果定時器ID是 TIMER_UDP_QFX 時,進(jìn)行處理 //······ //處理代碼 //······ } } //不需要定時器時,關(guān)閉定時器 KillTimer(TIMER_UDP_QFX);
Timer在控制臺程序中的使用
在對實時指標(biāo)不是非??量虝r,這個功能可以幫助我們完成很多功能。那么問題來了,這個可以用在一般控制臺程序中嗎?答案當(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> //控制臺消息響應(yīng) 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 //設(shè)置Timer ::SetTimer(NULL, TimerID, peried, &TimerProc); ::MSG msg; while(::GetMessage(&msg, NULL, 0, 0)) { ::DispatchMessage(&msg); } }
總結(jié)
以上就是本文關(guān)于C++控制臺用定時器實例代碼的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
C++實現(xiàn)LeetCode(21.混合插入有序鏈表)
這篇文章主要介紹了C++實現(xiàn)LeetCode(21.混合插入有序鏈表),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07