如何真正消除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 释放掉肯定可以! --------------------编程问答--------------------
请教如何释放掉hwnd?? --------------------编程问答-------------------- http://download.csdn.net/detail/veron_04/3517180 --------------------编程问答--------------------
DestroyWindow
补充:VB , 基础类