RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
关于windows系统回调的信息

windows 定时执行回调函数(C/C++)

用于需要定时执行操作的程序,WINAPI的程序;

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册雅安服务器托管、营销软件、网站建设、宁夏网站维护、网站推广。

1、设置定时事件

MMRESULT timeSetEvent( UINT uDelay ,

                                           UINT uResolution ,

                                             LPTIMECALLBACK fptc ,

                                             DWORD dwUser ,

                                             UINT fuEvent );

uDelay:以毫秒指定事件的周期。

uResolution :以毫秒指定延时的精度,数值越小定时器事件分辨率越高。缺省值为1ms。

fptc :指向一个回调函数。

dwUser :存放用户提供的回调数据。

fuEvent :指定定时器事件类型:

            TIME_ONESHOT:uDelay毫秒后只产生一次事件

            TIME_PERIODIC :每隔uDelay毫秒周期性地产生事件。

2、注销定时事件

MMRESULT timeKillEvent(UINT uTimerID) ;

其中uTimerID是timeSetEvent的返回值,是事件的ID号,timeSetEvent必须返回ID号用于注销;

3、回调函数

void WINAPI fptc(UINT wTimerID, UINT msg,DWORD dwUser,DWORD dwl,DWORD dw2)

{

         //需要执行的操作

}

回调的参数如不需要用到可不管,但是函数定义的参数类型和数量必须按照这个格式;

使用方法:

1、头文件和库必须加载

#include Windows.h

#include Mmsystem.h

#pragma comment(lib, "Winmm.lib")

2、注册回调事件

MMRESULT timer_id;

timer_id = timeSetEvent(1000, 1, (LPTIMECALLBACK)TimeCallbackFuction, 1, TIME_PERIODIC);

其中,1000表示1秒;1表示精度为1毫秒;TimeCallbackFuction是回调函数,定时执行的程序写在里面;1是用户数据,这里我没用到,随便写了个;TIME_PERIODIC表示间隔前面设定的那个时间不断循环执行;

3、回调函数执行

void WINAPI TimeCallbackFuction(UINT wTimerID, UINT msg,DWORD dwUser,DWORD dwl,DWORD dw2)

{

          //需要执行的操作

}

回调函数里写你的操作;

4、最后不需要使用定时器时需要注销掉;

timeKillEvent(timer_id);

timer_id是前面创建获取的ID号;

windows中的回调函数啥意思

简单说就是,由程序员编写的,给windows系统调用的函数。 也就是说,函数的功能有你定,调用有windows系统调用,不用你关心。你所要做的只是把函数的参数按照规定格式写好,编写好函数

在windows系统中,什么是回调函数?回调函数如何被调用?

就是你调用某对象做处理 并给他个函数让他处理完后调用 这个就是回调函数


标题名称:关于windows系统回调的信息
地址分享:http://lswzjz.com/article/dsijesg.html