多线程 访问 domodal窗口 的问题

tigerbananaapple 2008-12-01 12:12:43
1 主线程中先启动线程A然后xxDlg->doModal();

2 线程A中先执行某处理然后xxDlg->EndDialog();

如何控制线程A的xxDlg->EndDialog()处理,在主线程的xxDlg->doModal()之后??


...全文
124 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
vocanicy 2008-12-01
  • 打赏
  • 举报
回复
一个建议:
你的线程只是为了完成某项任务之后关闭对话框,那么在对话框的OnInitDialog中创建这个线程不是更好吗
不可触碰 2008-12-01
  • 打赏
  • 举报
回复
用iswindowvisible试试?
tigerbananaapple 2008-12-01
  • 打赏
  • 举报
回复
已经试过用个FLG来区分了,偶尔还是回出异常
我想我是人 2008-12-01
  • 打赏
  • 举报
回复
主线程可以给A线程传递一个参数,比如是布尔变量,A线程测试该变量,如果该变量为true,则说明主线程已经doModal,或者传递一个整型变量,不同的数值标识不同的意义.CreateThread中的LPVOID lpvThreadParam参数(第四个参数)就是传给线程的参数

15,471

社区成员

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

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