仪器网(yiqi.com)欢迎您!

| 注册 登录
网站首页-资讯-专题- 微头条-话题-产品- 品牌库-搜索-供应商- 展会-招标-采购- 社区-知识-技术-资料库-方案-直播- 视频

问答社区

如何在win32里面设置一个计时器?

爱靖赴 2013-05-26 05:00:18 279  浏览
  •  

参与评论

全部评论(2条)

  • 富江视频 2013-05-27 00:00:00
    下载个计时器的软件!

    赞(18)

    回复(0)

    评论

  • QL猫猴子 2018-03-20 20:35:40
    用SetTimer函数。什么时候我们需要用到SetTimer函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数了。 使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序。通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数。 1.1 用WM_TIMER来设置定时器 先请看SetTimer这个API函数的原型 UINT_PTR SetTimer( HWND hWnd, // 窗口句柄 UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器 UINT uElapse, // 时间间隔,单位为毫秒 TIMERPROC lpTimerFunc // 回调函数 ); 例如 SetTimer(m_hWnd,1,1000,NULL); //一个1秒触发一次的定时器 在MFC程序中SetTimer被封装在CWnd类中,调用就不用指定窗口句柄了 于是SetTimer函数的原型变为: UINT SetTimer(UINT nIDEvent,UINT nElapse,void(CALLBACK EXPORT *lpfnTimer)(HWND,UINT ,YINT ,DWORD)) 当使用SetTimer函数的时候,就会生成一个计时器。函数中nIDEvent指的是计时器的标识,也就是名字。nElapse指的是时间间隔,也就是每隔多长时间触发一次事件。第三个参数是一个回调函数,在这个函数里,放入你想要做的事情的代码,你可以将它设定为NULL,也就是使用系统默认的回调函数,系统默认认的是onTime函数。这个函数怎么生成的呢?你需要在需要计时器的类的生成onTime函数:在ClassWizard里,选择需要计时器的类,添加WM_TIME消息映射,就自动生成onTime函数了。然后在函数里添加代码,让代码实现功能。每隔一段时间就会自动执行一次。 例: SetTimer(1,1000,NULL); 1:计时器的名称; 1000:时间间隔,单位是毫秒; NULL:使用onTime函数。 当不需要计时器的时候调用KillTimer(nIDEvent); 例如:KillTimer(1); 1.2 调用回调函数 此方法首先写一个如下格式的回调函数 void CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime); 然后再用SetTimer(1,100,TimerProc)函数来建一个定时器,第三个参数就是回调函数地址。 二. 或许你会问,如果我要加入两个或者两个以上的 timer怎么办? 继续用SetTimer函数吧,上次的timer的ID是1,这次可以是2,3,4。。。。 SetTimer(2,1000,NULL); SetTimer(3,500,NULL); 嗯,WINDOWS会协调他们的。当然onTimer函数体也要发生变化,要在函数体内添加每一个timer的处理代码: onTimer(nIDEvent) { switch(nIDEvent) { case 1:........; break; case 2:.......; break; case 3:......; break; } }

    赞(7)

    回复(0)

    评论

获取验证码
我已经阅读并接受《仪器网服务协议》

热门问答

如何在win32里面设置一个计时器?
 
2013-05-26 05:00:18 279 2
如何在win32上弹出窗口加载网页
 
2017-10-30 03:26:36 420 1
如何在EXCEL表格中设置一个计时器,知道累计所用时间
用EXCEL表格做了一个试题卷,想制作一个计时器,方便知道完成答题试卷所用的时间
2012-05-29 20:00:21 413 2
电脑关机后如何在BOSS里面设置关闭电源系统
主板型号GA-M52L-S3请求如何在BOSS里设置关闭模式。让键盘鼠标断电。(没断电前鼠标和键盘可是带电状态。)
2013-07-05 19:03:36 434 4
.net 如何在服务器端做一个计时器
我要在服务器算写一个计时器、每隔12小时去检索一下 数据库的内容 access 数据库 呵呵、有没有高手帮忙呀、 Z好把代码贴出来!
2010-09-05 02:41:22 416 3
如何在PowerPoint中插入计时器
 
2016-04-08 04:58:15 254 3
如何在ppt 2010中加入计时器
 
2017-06-14 12:59:32 277 1
C#设置一个计时器
 
2018-12-05 00:42:41 300 0
如何在PPT(powerpoint)中增加计时器效果?
如题。 因为PPT需要。希望在PPT播放时能有一个显示的效果。 因为必须在30分钟内结束PPT播放,所以要让观众看到时间流逝的效果。 每一页都需要这么个显示功能。 我用的是PPT 2003的简化版本。
2008-05-27 18:24:57 301 3
如何在VisualStudio10.0中设置Halcon机器视觉
 
2016-04-13 02:13:53 240 1
怎么在ppt里面加入一个计时器
 
2016-11-24 11:10:05 325 1
如何在MyEclipse中写一个过滤器
 
2016-06-07 18:45:37 279 2
如何在Ubuntu 16.04上设置时间同步
 
2018-11-13 19:04:08 267 0
如何在comsol中设置不同温度的导热系数
 
2016-07-28 22:08:13 620 1
如何在示波器上得到一个光点
 
2018-11-30 18:42:37 209 0
如何在idea中创建一个测试类
 
2017-06-05 04:43:06 379 1
如何在VB程序中设计一个器
 
2018-12-06 17:40:52 219 0
高光谱曲线如何在envi里面进行包络线去除操作?
 
2011-12-01 09:02:28 530 3
如何用QT实现一个计时器的程序
秒表,用户点“开始计时”后,秒表开始计时,并实时显示计时数据;用户点“停止计时”后,秒表停止计时;用户点“重置”后,秒表归零 要求:秒表计时精度达到毫秒级 说明:不要求存储历史计时数据 需要详细点
2015-07-22 03:12:45 377 1
win8的系统,如何在电源选项里面设置,待机到了一定时间后自动锁屏。
 
2014-02-19 03:14:49 352 4

9月突出贡献榜

推荐主页

最新话题