VisualC++6.0,简称VC或者VC6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。VisualC++是一个功能强大的可视化软件开发工具。那么今天小编给大家带来的教程就是:讨论一下C语言VC下实现定时任务的三种方法。
在教程开始之前,小编先为大家介绍一下实时任务吧。其实总的来说,实现一项定时任务无非就是想在未来的某一时刻执行一个任务。相信有很多的人第一时间想到的就是WM_TIMER消息。现在小编就和大家讨论一下这几种方法吧。
第一种方法:使用内核对象来创建一个等待定时器
大家可以参考一下下面的函数代码,为了便于大家的理解,小编在每一行代码后面都写了相对应的注释。如图所示:
首先我们要做的就是将一个线程创建起来,然后再继续执行上面的函数,等待着定时器被激活我们再接着执行相对应的任务。刚刚小编只是给大家列出了一个想法而已,至于具体的实际操作大家就一定要把多线程编程等相关的知识弄清楚才可以。另外大家还要注意一点,那就是这种方法只是作为小编自己程序中的方法推荐使用而已。
第二种方法:使用系统的定时任务
大家还可以进行使用系统的定时任务来实现。当然啦,还可以使用其他通过WinExec调用控制台的命令。但是小编认为这样做的话,对于实现起来感觉稍微会有一点点乱,另外就是它非常容易就会被操作员给破坏了。就比如说:它禁用了定时任务的服务等等操作。
第三种方法:无论是不是窗口函数通通都可以使用WM_TIMER消息
停止命令:KillTimer(UINTuID);
启动命令:SetTimer(HWNDhWnd,UINTuID,UINTuElaPSe,TIMERPROClpTimerFunc);
在MFC(全称:MicrosoftFoundationClasses,即微软基础类库)中封装了上面的函数,只要把HWNDhWnd参数去掉就可以了。
如果有窗口把lpTimerFunc函数指针设置为空,要不然就编写一个回调函数传进去就可以了,当经过了uElapse的时候,就可以进行执行这个回调函数了。
温馨提示:WM_TIMER消息的权限太低了,所以就有可能会出现被系统丢掉从而不执行的现象,重复判断导致了资源浪费。
小编结语:
今天小编主要为大家简单讨论一下C语言VC下实现定时任务的三种方法。在这篇教程,向大家介绍了三种方法,大家可以根据自己的实际情况来进行选择合适的方法。希望这会对大家有所帮助。本篇编程语言教程来源于:课课家教育。
¥150.00
¥98.00
¥25.00¥49.00
¥100.00