本文研究的主要是C++控制臺(tái)用定時(shí)器的相關(guān)實(shí)例,具體如下。
在MFC中有一個(gè)很好用的定時(shí)器函數(shù)。
#define TIMER_UDP_QFX 3//定時(shí)器的IDint 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);
在對(duì)實(shí)時(shí)指標(biāo)不是非常苛刻時(shí),這個(gè)功能可以幫助我們完成很多功能。那么問(wèn)題來(lái)了,這個(gè)可以用在一般控制臺(tái)程序中嗎?答案當(dāng)然是肯定的。
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); }}
以上就是本文關(guān)于C++控制臺(tái)用定時(shí)器實(shí)例代碼的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
新聞熱點(diǎn)
疑難解答