gpt4 book ai didi

c++ - Win32,等待主消息队列中的线程?

转载 作者:太空宇宙 更新时间:2023-11-04 15:09:50 25 4
gpt4 key购买 nike

我在 WinMain 中创建了一个线程,之后我有一个经典的 msg 循环:

while(GetMessage(&msg, NULL, 0, 0))
{

if (!done){
GetExitCodeThread(dThread,&dwCode);
if (dwCode!=STILL_ACTIVE){
//thread done
}
}

if (!IsDialogMessage (UWnd, & msg))
{
TranslateMessage ( & msg );
DispatchMessage ( & msg );
}
}

这工作正常,但如果线程完成,它不会触发,直到完成窗口上的某些操作(鼠标、焦点等)。如何在收到消息或线程完成时触发循环?

谢谢你...

最佳答案

您可以让线程在完成时向您的 UI 线程发送一条消息(使用 PostThreadMessage),而不是在消息循环内测试线程状态。然后您需要做的就是在 WindowProc 中处理该消息。

关于c++ - Win32,等待主消息队列中的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4144690/

25 4 0
文章推荐: c++ - 检查内存是否已经初始化
文章推荐: php - PHP 中的 HTML 表单
文章推荐: java - Wicket - DataTable 中的自定义页面导航
文章推荐: javascript - 使用 onMouseover 更改
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com