1

我在以下位置上传了一个 VS2010 项目。一旦您运行了全屏应用程序,就应该运行此测试应用程序。一旦它运行,您有 2 秒钟的时间点击您的全屏应用程序。它使用全屏应用程序(应该是最后一个获得焦点的窗口)作为对话框的所有者创建 2 个无模式对话框。显示、隐藏一个对话框,然后显示、隐藏第二个对话框,然后循环显示第一个对话框。我发现第二次显示第一个对话框时,任务栏弹出。我花了 4 天痛苦的时间试图了解这里发生了什么,我迫切需要一些帮助。

我收到了一些帮助,建议当我调用 DestroyWindow 来隐藏对话框时,Windows 会将焦点放在“某处”——在我的情况下是任务栏。以前当我问这个问题时,我没有使用全屏应用程序作为我的窗口的所有者。我会认为焦点应该回到所有者窗口?在我的对话框上调用 DestroyWindow 之前,我还尝试在全屏应用程序上调用 SetFocus() 和 SetForegroundWindow() - 但是这似乎导致任务栏每次都出现,我根本不希望这样。

请帮忙!

示例 VS2010 项目

4

0 回答 0