C++控制臺用定時器實例代碼
更新時間:2018年02月03日 16:01:06 作者:祥知道
這篇文章主要介紹了C++控制臺用定時器實例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
本文研究的主要是C++控制臺用定時器的相關(guān)實例,具體如下。
Timer在MFC程序中的使用
在MFC中有一個很好用的定時器函數(shù)。
- 使用SetTimer()進行設(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 時,進行處理
//······
//處理代碼
//······
}
}
//不需要定時器時,關(guān)閉定時器
KillTimer(TIMER_UDP_QFX);
Timer在控制臺程序中的使用
在對實時指標不是非常苛刻時,這個功能可以幫助我們完成很多功能。那么問題來了,這個可以用在一般控制臺程序中嗎?答案當然是肯定的。
需要用的函數(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ù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07

