您好,登錄后才能下訂單哦!
本文研究的主要是C++控制臺用定時器的相關實例,具體如下。
在MFC中有一個很好用的定時器函數。
#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);
在對實時指標不是非常苛刻時,這個功能可以幫助我們完成很多功能。那么問題來了,這個可以用在一般控制臺程序中嗎?答案當然是肯定的。
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++控制臺用定時器實例代碼的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。