【发布时间】:2010-12-30 10:40:04
【问题描述】:
我编写了一个示例 MFC 应用程序,其中有两个线程: -主线程(UI线程) -Worker线程(非UI线程)
我有在非 UI(工作线程)中创建 Modal 对话框的特定要求。
当我创建 CDialog 对象并在其上调用 DoModal 时,它可以工作。对话框被创建并充当应用程序的模态。 (Win XP SP2 机器)但这在 Windows 2003 服务器机器上不起作用。
2003 服务器中的行为是,模态对话框位于应用程序主窗口的后面,只有当我单击主窗口时,对话框才会被置于前面。它不是我的应用程序的模态对话框。
可能是什么问题——有什么想法吗?
如果在非 UI 线程中创建 UI 控件是问题,那么是否有任何 Win32 API 允许我将我的工作线程链接到主 UI 线程,以便 DoModal 发生在主线程中。我试过AttachThreadInput,但它不起作用。
【问题讨论】:
标签: c++ windows mfc winapi modal-dialog