用CreateThread一个有多个线程的MFC里添加一个新的线程,线程函数里的函数的参数都不正确是为什么?
HANDLEhThread5=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)TimeThreadFunc,0,0,NULL);D...
HANDLE hThread5=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)TimeThreadFunc,0,0,NULL);
DWORD WINAPI TimeThreadFunc(LPVOID lpParam)
{
SetTimer(1,10000,0);
}
error C2660: “SetTimer”: 函数不接受 3 个参数
再填入其它函数也是同样的错误,是什么原因? 展开
DWORD WINAPI TimeThreadFunc(LPVOID lpParam)
{
SetTimer(1,10000,0);
}
error C2660: “SetTimer”: 函数不接受 3 个参数
再填入其它函数也是同样的错误,是什么原因? 展开
2个回答
展开全部
TimeThreadFunc的参数lpParam强制转换为HWND类型,送到SetTimer的第一个参数:
DWORD WINAPI TimeThreadFunc(LPVOID lpParam)
{
SetTimer((HWND) lpParam, 1,10000,0);
}
然后创建线程的时候把当前窗口句柄搞进去
HANDLE hThread5=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)TimeThreadFunc, (LPVOID)GetSafeHwnd(),0,NULL);
DWORD WINAPI TimeThreadFunc(LPVOID lpParam)
{
SetTimer((HWND) lpParam, 1,10000,0);
}
然后创建线程的时候把当前窗口句柄搞进去
HANDLE hThread5=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)TimeThreadFunc, (LPVOID)GetSafeHwnd(),0,NULL);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询