c++ - 内部消息循环

标签 c++ mfc

在我的主对话框中,我有一个创建进程并等待它完成的函数。最多可能需要 15-20 秒。如果我只是等待使用 WaitForSingleObject,我的对话框就会变得没有响应。

我想结合使用 EnableWindow(FALSE) 和内部消息循环来阻止我的对话框,但又不像 MessageBox 和 DoModal 那样看起来像应用程序卡住。但我不确定如何执行内部消息循环。

最佳答案

恐怕您的方法行不通。您的应用程序是单线程的,或者至少您的 UI 是。在您调用 WaitForSingleObject 之后,您的线程将进入休眠状态,并且不会处理 Windows 消息。您有一个内部消息循环这一事实并不重要。您可能应该启动一个新线程并使用它来等待进程完成,然后通知您的 UI 线程并退出。或者类似的东西。

关于c++ - 内部消息循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8666825/

相关文章:

c++ - 如何在Windows上获取可用的RAM?

c++ - 如何在MFC编程中使用GetDHtmlDocument()?

c++ - 在 MFC 中播放 YouTube 视频

c++ - Visual Studio 2019 : How to use Platform Toolset v140_xp?

c++ - 编译时如何生成类似 OR 的语句? C++

c++ - 如何扩展库类的功能?

c++ - 添加另一个 VC++ 对话框会导致第二个对话框在控件周围有焦点虚线矩形?

c++ - 使用 MFC 在 2 个监视器上扩展 GUI

c++ - 验证乘法溢出测试

.net - 当附加调试器时,从 .Net 代码调用 C++ dll 的速度极其缓慢