当前位置:编程学习 > VB >>

如何真正消除settimer设定的定时器??

VB里调用API函数settimer来设定一个定时器,用killtimer来消除定时器,但是我做了写了一段代码,调试后发现killtimer根本不能真正消除掉定时器,我查了好多资料,最终在网上查到一篇文章如下:

VB KillTimer 移除销毁定时器函数功能详解:

函数原型:
    Private Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long

函数功能:
    移除定时器函数的声明。移除先前用 SetTimer 设置的定时器,在定时器使用完毕后移除定时器时使用。 

参数详解: 
  hwnd:     与定时器相关联的窗口句柄。
    nIDEvent: 传递给 SetTimer 的定时器ID值。 

函数说明: 
    销毁以前调用 SetTimer 创建的用 nIDEvent 标识的定时器事件,不能将此定时器有关的未处理的 WM_TIMER 消息都从消息队列中清除。 

函数返回值: 
  BOOL 如果函数成功,返回一个非 0 值,如果失败,返回值为 0 。 

注意事项: 
    该函数并不移除 WM_TIMER 先前发送到消息列队中的消息。


所以,想请教高手,如何才能真正的消除之前的定时器?否则即使killtime调用了,之前在settimer里的回调函数仍然在循环调用。 --------------------编程问答-------------------- 将 hwnd 释放掉肯定可以! --------------------编程问答--------------------
引用 1 楼 Tiger_Zhao 的回复:
将 hwnd 释放掉肯定可以!


请教如何释放掉hwnd?? --------------------编程问答-------------------- http://download.csdn.net/detail/veron_04/3517180 --------------------编程问答--------------------
引用 2 楼 north00 的回复:
请教如何释放掉hwnd?

DestroyWindow
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,