windows上的应用程序模式文件对话框

windows上的应用程序模式文件对话框,windows,winapi,visual-c++,Windows,Winapi,Visual C++,如何使用公共文件对话框API使公共文件对话框应用程序成为模态?对话框出现在与所有者窗口相关的模式中。我想在文件对话框打开时阻止所有进程窗口。在我当前的代码中,我正在禁用属于应用程序的所有窗口(对话框父窗口除外),当对话框关闭时,我将再次启用它们。应该有一种更好/更简单的方法,通过公共文件对话框实现应用程序范围的模态。请告诉我是否有标准的解决方案。手动禁用和重新启用是我知道的在Windows中的唯一方法 Windows应用程序的传统模型是每个实例有一个顶级窗口。(还记得MDI应用程序吗?)当然,也

如何使用公共文件对话框API使公共文件对话框应用程序成为模态?对话框出现在与所有者窗口相关的模式中。我想在文件对话框打开时阻止所有进程窗口。在我当前的代码中,我正在禁用属于应用程序的所有窗口(对话框父窗口除外),当对话框关闭时,我将再次启用它们。应该有一种更好/更简单的方法,通过公共文件对话框实现应用程序范围的模态。请告诉我是否有标准的解决方案。

手动禁用和重新启用是我知道的在Windows中的唯一方法

Windows应用程序的传统模型是每个实例有一个顶级窗口。(还记得MDI应用程序吗?)当然,也有例外,许多应用程序总是有浮动的工具选项板窗口。尽管如此,禁用父模型对大部分应用程序都有效,而且许多窗口应用程序也可以像手动禁用额外窗口一样进行操作。因此,对于更通用的解决方案没有太多需求

如果您想重新构建东西,您可以拥有一个主窗口,它拥有所有其他顶级窗口,并使模态窗口使用主窗口作为父窗口,但是您必须解决与任务栏、z顺序和模态窗口定位相关的其他问题