mfc中线程没运行?

maiomaio 2008-03-27 10:10:31
我新建了个dialog,在windows的WM_show响应函数里面利用CreateThread(NULL,NULL,WriteWndName,NULL,NULL,NULL);产生并立即启动线程,函数我在当前.cpp前面定义了,通过单步发现新线程没启动,但是我在控制台却可以正常启动运行
...全文
95 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
frog845 2008-03-27
  • 打赏
  • 举报
回复
同二楼 调试执行到CreateThread这行了吗?返回值是什么?如果返回NULL,用GetLastError取错误码看看

单步调试是不会进入创建的线程中的,选择debug run to cursor 试一试
  • 打赏
  • 举报
回复
写对参数就可以了

AfxMessageBox这个内容使用了一些和主界面相关的东西,在线程中会有问题的。
maiomaio 2008-03-27
  • 打赏
  • 举报
回复
MessageBox
我本来就用这个的,但是,我按网上跟书上说的参数去调用这个函数就是说参数不对,无语就换成现在这个Afx的了
  • 打赏
  • 举报
回复
正想现象
你用api MessageBox
maiomaio 2008-03-27
  • 打赏
  • 举报
回复
试了下_beginthreadex()发现可以进入,但是我在里面用AfxMessageBox();就会在弹出消息框后马上跳出断言错误
  • 打赏
  • 举报
回复
用这个_beginthreadex启动线程
cnzdgs 2008-03-27
  • 打赏
  • 举报
回复
调试执行到CreateThread这行了吗?返回值是什么?如果返回NULL,用GetLastError取错误码看看。
cnzdgs 2008-03-27
  • 打赏
  • 举报
回复
AfxMessageBox会取程序的主对话框作为其Parent,因为主对话框属于其它线程所以会出错,你可以用MessageBox或者把应用程序类的m_pMainWnd设为NULL。

15,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧