本文研究的主要是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++控制台用定时器实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。