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析构函数
析构函数中不能用KillTimer, 原因:在析构函数中窗口已经不存在,所以KillTimer函数已经没有了窗口句柄,当然会出错 使用位置:BOOL DestroyWindow(void)函数中. ...
- MFC 定时器用法 SetTimer、KillTimer
什么时候我们需要用到SetTimer函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数了. 使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以 ...
- SetTimer和KillTimer详解
原文出处:http://www.cppblog.com/ivenher/articles/19969.html 在编程时,会经常使用到定时器.使用定时器的方法比较简单,通常告诉Windows一个时间间 ...
- 13. OD-内嵌补丁,过期的软件DVD Menu Studio破解,switch函数,break等于KillTimer
内嵌补丁指在程序文件中把补丁代码写入文件里面达到破解的目的. 查询KillTimer函数,意思是break的意思 eax不能等于3,等于4就会进入正确轨道 我们回溯cmp eax,3指令,回到跳转该指 ...
- WinAPI: SetTimer、KillTimer - 创建与移除高性能定时器
//创建定时器函数的声明: SetTimer(hWnd: HWND; {与定时器相关联的窗口句柄}nIDEvent: UINT; {指定一个非 0 的定时器标识符}uElapse: UINT; {指定 ...
- QObject::killTimer: Timers cannot be stopped from another thread
多线程中如果不慎重使用时间相关函数类如cv::waitkey(), QTimer()等, 如果没有管理好线程关系,容易导致时间混乱,报错可能是如下. QObject::killTimer: Timer ...
- 用MFC中的SetTimer、OnTimer和KillTimer实现的简单计时器与倒计时的Demo
MFC中的定时控制功能主要由下面三个函数共同实现: SetTimer, KillTimer()和OnTimer(). 简单的说,Settimer是设置一个计时器,当Settimer设置的时间到了,就会 ...
- KillTimer失败(SetTimerKillTimer的大坑)
今天写计算机网络的作业,要实现GBN和选择重传,那就需要发送端对每个分组都设置一个计时器,起初我使用clock(),发现不太行,Google了一阵子,转用SetTimer. 结果又踩了一堆坑,以下是我 ...
- MFC之按键消息(长按处理)
想要实现长按键的一些控制,查了查可以通过捕获键盘事件,然后处理按键时需要进行的操作.下面简单的实现左右按键界面更新数值加减. 1. 重载PreTranslateMessage(MSG* pMsg)函 ...
最新文章
- java实现局域网内单对单和多对多通信的设计思路
- 数据结构---线段树
- 目录config.php怎么修改域名,config.php · wlphp/基于宝塔面板api给站点新增删除域名接口 - Gitee.com...
- 图论(六)图的两种表示方法
- 5.4 Spring AOP
- CF :K 一个含n条边的带权无向连通图,q次查询,每次查询两点间的最短距离。...
- 《spring-boot学习》-01-初体验
- 记录——《C Primer Plus (第五版)》第十章编程练习第一题
- 【渝粤教育】电大中专建筑材料 (4)作业 题库
- CTF-Mayday
- chrome访问不了go语言中文网
- 2020年了,Windows Me还能用吗?
- c语言计算一个三位数的个十百位之和_C语言的那些经典程序
- 横陈的岁月,阡陌的红尘,你闯进了我的世界
- 华硕计算机电源已连接未充电,笔记本电池显示“电源已接通,未充电”
- 纪念一下获得十大优秀学生
- Martin Fowler微服务论文--译文
- 保持健康和活力 - 颈椎病康复指南
- plsql 英文版 修改字体,工具栏大小
- iOS:quartz2D绘图(绘制渐变图形)
热门文章
- NYOJ 201 作业题 动态规划
- bzoj 1632: [Usaco2007 Feb]Lilypad Pond【bfs】
- 关于索引的相关 day45
- 如何使用 Jenkins、GitHub 和 Docker 在 Azure 中的 Linux VM 上创建开发基础结构
- WinForm 之 程序启动不显示主窗体
- InvokeHelper,让跨线程访问/修改主界面控件不再麻烦(转)
- Python学习:数据结构
- 现代谱估计:多窗口谱重建
- Linux动态链接库的使用
- 【笔记】An explainable deep machine vision framework for plant stress phenotyping