Multithreading 进度条控件……在两个对话框之间

Multithreading 进度条控件……在两个对话框之间,multithreading,mfc,modal-dialog,Multithreading,Mfc,Modal Dialog,我的应用程序是基于串行通信的。 它有主对话框窗口,从中我们可以选择三个选项:泵、crind和kiosk。 当我选择任何一个选项,比如pump时,就会调用带有进度条的小对话框(CommonResponse),并从命令文件中获取pump的时间。这个小窗口位于创建为worker thred的单独线程上。 现在我希望这个带有进度条的小窗口在主线程上,但在后台串行通信应该继续……如何做和执行步骤 这样做的一个选择是代替进度条,串行通信是在单独的线程上进行的。但是现在这是一个非常耗时的过程,因为所有的事情都

我的应用程序是基于串行通信的。 它有主对话框窗口,从中我们可以选择三个选项:泵、crind和kiosk。 当我选择任何一个选项,比如pump时,就会调用带有进度条的小对话框(CommonResponse),并从命令文件中获取pump的时间。这个小窗口位于创建为worker thred的单独线程上。 现在我希望这个带有进度条的小窗口在主线程上,但在后台串行通信应该继续……如何做和执行步骤

这样做的一个选择是代替进度条,串行通信是在单独的线程上进行的。但是现在这是一个非常耗时的过程,因为所有的事情都准备好了,只有这一部分我们想要更改。。。。
先谢谢你

只需将主线程窗口的句柄传递给后台线程即可


使用postmessage发送私有消息,通知主线程进度。主线程可以对其进行解码,并将嵌入的进度条设置为您想要和需要的值。

我知道您想要工作线程中的窗口吗?坏主意。除了在非常非常罕见的情况下(这似乎不是您的情况),所有GUI交互都应该在主线程中。然后,任何工作线程通过消息与之通信,主线程更新GUI,就像xMRi在回答中所说的那样。查看如何操作,解释为什么工作线程不能接触GUI,等等。