在我的主对话框中,我有一个创建进程并等待它完成的函数。最多可能需要 15-20 秒。如果我只是等待使用 WaitForSingleObject,我的对话框就会变得没有响应。
我想结合使用 EnableWindow(FALSE) 和内部消息循环来阻止我的对话框,但又不像 MessageBox 和 DoModal 那样看起来像应用程序卡住。但我不确定如何执行内部消息循环。
最佳答案
恐怕您的方法行不通。您的应用程序是单线程的,或者至少您的 UI 是。在您调用 WaitForSingleObject 之后,您的线程将进入休眠状态,并且不会处理 Windows 消息。您有一个内部消息循环这一事实并不重要。您可能应该启动一个新线程并使用它来等待进程完成,然后通知您的 UI 线程并退出。或者类似的东西。
关于c++ - 内部消息循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8666825/