0
点赞
收藏
分享

微信扫一扫

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);



}

}

 

支持

KillTimer()的使用_killTimer

 

举报

相关推荐

0 条评论