C++控制臺(tái)用定時(shí)器實(shí)例代碼
本文研究的主要是C++控制臺(tái)用定時(shí)器的相關(guān)實(shí)例,具體如下。
Timer在MFC程序中的使用
在MFC中有一個(gè)很好用的定時(shí)器函數(shù)。
- 使用SetTimer()進(jìn)行設(shè)置定時(shí)器
- 使用KillTimer()關(guān)閉定時(shí)器
- 在OnTimer()函數(shù)中,響應(yīng)WM_TIMER這個(gè)消息,也就是定時(shí)器的處理函數(shù)。
源代碼
#define TIMER_UDP_QFX 3//定時(shí)器的ID
int 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);
Timer在控制臺(tái)程序中的使用
在對(duì)實(shí)時(shí)指標(biāo)不是非??量虝r(shí),這個(gè)功能可以幫助我們完成很多功能。那么問(wèn)題來(lái)了,這個(gè)可以用在一般控制臺(tái)程序中嗎?答案當(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>
//控制臺(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);
}
}
總結(jié)
以上就是本文關(guān)于C++控制臺(tái)用定時(shí)器實(shí)例代碼的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
- C++11實(shí)現(xiàn)簡(jiǎn)易定時(shí)器的示例代碼
- C++定時(shí)器Timer在項(xiàng)目中的使用方法
- C++?超詳細(xì)分析數(shù)據(jù)結(jié)構(gòu)中的時(shí)間復(fù)雜度
- C++11時(shí)間日期庫(kù)chrono的使用
- c++11多種格式時(shí)間轉(zhuǎn)化為字符串的方法實(shí)現(xiàn)
- C++使用chrono庫(kù)處理日期和時(shí)間的實(shí)現(xiàn)方法
- 最短時(shí)間學(xué)會(huì)基于C++實(shí)現(xiàn)DFS深度優(yōu)先搜索
- C++定時(shí)器實(shí)現(xiàn)和時(shí)間輪介紹
相關(guān)文章
C++內(nèi)存池的簡(jiǎn)單實(shí)現(xiàn)
內(nèi)存池是一種動(dòng)態(tài)內(nèi)存分配與管理技術(shù)。本文主要介紹了C++內(nèi)存池的簡(jiǎn)單實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07
C++ 重載與重寫(xiě)的區(qū)別與實(shí)現(xiàn)
在面向?qū)ο笳Z(yǔ)言中,經(jīng)常提到重載與重寫(xiě),本文主要介紹了C++ 重載與重寫(xiě)的區(qū)別與實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01
C++ OpenCV繪制簡(jiǎn)易直方圖DrawHistImg
本文主要介紹了一個(gè)能繪制簡(jiǎn)易直方圖的簡(jiǎn)單函數(shù)DrawHistImg,可以幫助大家快速掌握繪制的原理,可以根據(jù)自己的創(chuàng)意對(duì)其進(jìn)行改善和補(bǔ)充。需要的朋友可以參考一下2021-12-12
C++實(shí)現(xiàn)LeetCode(21.混合插入有序鏈表)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(21.混合插入有序鏈表),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07

