KillTimer()的使用 | 您所在的位置:网站首页 › kill函数c › KillTimer()的使用 |
KillTimer()
在OnTime()中调用KillTimer(),实现只触发一次的定时器。
当您的程序用完定时器时,它呼叫KillTimer函数来停止定时器消息。在处理WM_TIMER消息时,您可以通过呼叫KillTimer函数来编写一个「限用 一次」的定时器。KillTimer呼叫清除消息队列中尚未被处理的WM_TIMER消息,从而使程序在呼叫KillTimer之后就不会再接收到WM_TIMER消 息。
该函数并不移除WM_TIMER 先前发送到消息列队中的消息。
下面的函数实现了定时器只调用一次。定时器第一次触发时,直接KillTimer(nIDEvernt),销毁以前调用SetTimer创建的用nIDEvent标识的定时器事件,但是不能将此定时器有关的未处理的WM_TIMER消息都从消息队列中清除。所以继续执行下面的代码。但是由于nIDEvent标识的定时器事件已经被消除了,所以不会再执行nIDEvent的定时器了。这样就实现了触发一次的定时器。 //定时器 SetTimer(1, 50, NULL); void ConfigInstallIn::OnTimer(UINT_PTR nIDEvent) { if (nIDEvent == 1) { KillTimer(nIDEvent); m_pwndInstallVideo->StartVideo(m_tBoxPuParam.dwDestIp, m_tBoxPuParam.wPort, m_tBoxPuParam.wVideoSrc,\ m_tBoxPuParam.wStreamChn, m_tBoxPuParam.pszStreamType, m_tBoxPuParam.pszAuthorizeInfo, \ m_tBoxPuParam.pUserName, m_tBoxPuParam.pPassWord); if(m_bShowFrame) { m_pwndInstallVideo->m_l32AppSeiScoreFlag = 1; } else { m_pwndInstallVideo->m_l32AppSeiScoreFlag = 0; } m_pwndInstallVideo->FrameCallBack(TRUE); } }
支持 欢迎关注公众号 谁吃薄荷糖,主要记录日常中觉得有意思的事情以及分享开发实践,保持深度和专注度,喜欢的点击右下角的再看哦。
|
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |