gpt4 book ai didi

c++ - WinApi SetTimer 无法编译

转载 作者:可可西里 更新时间:2023-11-01 11:32:11 25 4
gpt4 key购买 nike

我需要定时器每 1 秒启动一次功能。

我试过SetTimer,我的代码:

const UINT_PTR TIMER_ID = 1000;

DWORD DownloadThread()
{
SetTimer(NULL, TIMER_ID, 1000, (TIMERPROC)DownloadSpeedCounter);
/*some stuff*/
}

void DownloadSpeedCounter()
{
/*some stuff*/
}

我无法编译此代码并得到 error C2440: 'type cast' : cannot convert from 'overloaded-function' to 'TIMERPROC'

也是类成员方法。

最佳答案

这是因为您正试图将普通函数用作应用程序定义的回调函数。您可能正在寻找的是这个应用程序定义的回调函数,它可能如下所示:

VOID CALLBACK DownloadSpeedCounter( 
HWND hwnd, // handle to window for timer messages
UINT message, // WM_TIMER message
UINT idTimer, // timer identifier
DWORD dwTime) {
/* some stuff */
}

有关使用计时器回调函数的更多信息,请参阅 this article .

关于c++ - WinApi SetTimer 无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18311743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com