VC 关于SetTimer嵌套

来源:百度知道 编辑:UC知道 时间:2024/06/03 12:28:04
void CALLBACK ProgTimer(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime)
{

SetTimer(NULL,2,10000,(TIMERPROC)ProgTimer); //默认的到了5秒以后,才开始新的计时(不要killTimer默认的),才执行新的语句。注意:不是一打开程序就两个同时计时。那么该如何CALLBACK ProgTimer呢?程序使用的是宽字符,这里写法不规范,谁知道如何定义?

}

SetTimer(NULL,1,5000,(TIMERPROC)ProgTimer); //这里是默认的计时5秒
谢谢你的回答,我用define试了一下,如果SetTimer嵌套会进入死循环

首先这里不涉及字符串所以跟宽字符没关系。

其次你这样写没有问题啊,如果判断ID的话,可以通过idEvent这个参数来判断是哪个计时器到时。

这样的定义没有问题。

补充:

回调函数是同一个就可以,判断是哪个计时器通过idEvent。

void CALLBACK ProgTimer(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime)
{
switch( idEvent )
{
case 0:
{
}
break;
case 1:
{
}
break;

...
return 0;
}