用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 个参数
再填入其它函数也是同样的错误,是什么原因?
展开
 我来答
空雪梦见
2013-04-24
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
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);
小刺猬001
2013-04-24
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
参数可以设为 SetTimer(1,10000,null);
追问
还是不行,不仅SetTimer不行,MessageBox这个函数也不行
追答
那你可以用用 AfxMessageBox()。
你查看下 SetTimer 的MSDN , 我以前用这个函数的时候一般和OnTimer连用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式