UINT_PTR SetTimer(
 HWND hWnd, // 窗口句柄
UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器
UINT nElapse, // 时间间隔,单位为毫秒
TIMERPROC lpTimerFunc // 回调函数
);
返回值:
类型:UINT_PTR
如果函数成功,hWnd参数为0,则返回新建立的时钟编号,可以把这个时钟编号传递给KillTimer来销毁时钟.
如果函数成功,hWnd参数为非0,则返回一个非零的整数,可以把这个非零的整数传递给KillTimer来销毁时钟.
如果函数失败,返回值是零.若想获得更多的错误信息,调用GetLastError函数.

Setimer没说一定要Hwnd.TIMERPROC lpTimerFunc // 回调函数应该可用调用吧。你试试,我也没试过

方法一
这是最方便的一种方法,它让Windows把WM_TIMER消息发送到应用程序的正常窗口消息处理程序中,SetTimer呼叫如下所示:
SetTimer (hwnd, 1, uiMsecInterval, NULL) ;        
第一个参数是其窗口消息处理程序将接收WM_TIMER消息的窗口句柄。第二个参数是定时器ID,它是一个非0数值,在整个例子中假定为1。第三个参数是一个32位无正负号整数,以毫秒为单位指定一个时间间隔,一个60,000的值将使Windows每分钟发送一次WM_TIMER消息。
您可以通过呼叫
KillTimer (hwnd, 1) ;

方法二
设定定时器的第一种方法是把WM_TIMER消息发送到通常的窗口消息处理程序,而第二种方法是让Windows直接将定时器消息发送给您程序的另一个函数。
SetTimer (hwnd, iTimerID, iMsecInterval, TimerProc) ;

方法三
设定定时器的第三种方法类似于第二种方法,只是传递给SetTimer的hwnd参数被设定为NULL,并且第二个参数(通常为定时器ID)被忽略了,最后,此函数传回定时器ID:
iTimerID = SetTimer (NULL, 0, wMsecInterval, TimerProc) ;        
如果没有可用的定时器,那么从SetTimer传回的iTimerID值将为NULL。
KillTimer的第一个参数(通常是窗口句柄)也必须为NULL,定时器ID必须是SetTimer的传回值:
KillTimer (NULL, iTimerID) ;

注意:调用SetTimer函数的线程要存在,因为定时器要依赖线程队列来接收消息。

SetTimer 几种用法(定时器)相关推荐

  1. Android Intent的几种用法全面总结

    Android Intent的几种用法全面总结 Intent, 用法 Intent应该算是Android中特有的东西.你可以在Intent中指定程序要执行的动作(比如:view,edit,dial), ...

  2. mysql中模糊查询的四种用法介绍

    下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示.  比如 SELECT * FROM [user ...

  3. javamap的用法_Java Map常用的几种用法。

    Java Map常用的几种用法. 通常,Map是由一组键值对组成的数据结构,每个键只能在映射中出现一次.这篇文章总结了有关如何使用Java Map及其实现的类的前9个常见问题解答.为了简单起见,我将在 ...

  4. using 的三种用法

    using 有哪三种用法? 1)引入命名空间. 2)给命名空间或者类型起别名. 3)划定作用域.自动释放资源,使用该方法的类型必须实现了 System.IDisposable接口,当对象脱离作用域之后 ...

  5. C++ operator两种用法【转】

    C++中的operator,有两种用法,一种是operator overloading(操作符重载),一种是operator casting(操作隐式转换).下面分别进行介绍: 1.operator ...

  6. java和python可以在一个项目中同时使用么-java调用python的几种用法(看这篇就够了)...

    java调用python的几种用法如下: 在java类中直接执行python语句 在java类中直接调用本地python脚本 使用Runtime.getRuntime()执行python脚本文件(推荐 ...

  7. static的三种用法,定义静态变量,静态函数,静态代码块!

    static的三种用法,定义静态变量,静态函数,静态代码块! 1.定义静态变量 class PersonStatic { //静态变量的特点 //1.静态变量无需生成对象就可被调用,可以使用类名和对象 ...

  8. Vue——基本的代码结构和插值表达式、v-cloak||Vue指令之v-text和v-html||v-bind的三种用法||Vue指令之v-on

    Vue的基本代码 <!DOCTYPE html> <html lang="en"><head><meta charset="UT ...

  9. js中继承的几种用法总结(apply,call,prototype)

    本篇文章主要介绍了js中继承的几种用法总结(apply,call,prototype) 需要的朋友可以过来参考下,希望对大家有所帮助 一,js中对象继承 js中有三种继承方式 1.js原型(proto ...

最新文章

  1. 蓝色起源载人火箭7月首飞,贝索斯即将实现儿时愿望
  2. Visual Studio 2005 SP1安装 关键点
  3. 让mysql返回的结果按照传入的id的顺序排序
  4. 初中参观机器人博物馆的作文_【六年级作文】参观机器人博物馆
  5. 写出python字符串三种常用的函数或方法_python中几种常用字符串函数
  6. 海归硕士程序员吐槽:我回国竟然找不到工作,这到底是什么操作?
  7. checkbox全选和反选功能
  8. 云计算中的Iaas,Paas和Saas
  9. iOS的消息机制和消息转发
  10. android studio 弹出式对话框设置时间_如何设置当单击某个对象时运行指定的应用程序?...
  11. Python socket TCP
  12. linux 如何配置无线网卡驱动,Linux配置无线网卡驱动实现无线上网
  13. python读书心得体会范文_读书心得体会范文6篇
  14. 弘辽电商专题三:打赢店铺翻身仗,提升淘宝权重很重
  15. java官网教程(进阶篇)—— 集合
  16. Python数据可视化的3大步骤!
  17. egret(白鹭引擎) 学习历程(二)
  18. C语言程序设计 密码开锁 指针的介绍
  19. IT66021FN 翻译
  20. MySQL 分库分表实践

热门文章

  1. 【51单片机】LED模块和独立按键的使用
  2. 个人博客美化之网易云生成外链(对于那些因为版权原因无法生成外链的)
  3. 谷歌翻译失效解决方法
  4. thinkphp防sql注入,入侵
  5. (33)ObjectARX2015 + vs2012扩展字典和有名对象字典
  6. 那些工作带来的人生启示
  7. js判断移动端是否安装某款app的方法
  8. 四百元以内哪种耳机音质好?2023便宜音质好的蓝牙耳机推荐
  9. 更好看的国产蓝牙耳机,音质也没问题,哈氪零度青春版体验
  10. 香港读书 – 香港签注延期办理流程(转载)