本文研究的主要是C++控制臺用定時器的相關實例,具體如下。
在MFC中有一個很好用的定時器函數。
#define TIMER_UDP_QFX 3//定時器的IDint 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);
在對實時指標不是非??量虝r,這個功能可以幫助我們完成很多功能。那么問題來了,這個可以用在一般控制臺程序中嗎?答案當然是肯定的。
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++控制臺用定時器實例代碼的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
新聞熱點
疑難解答