C ++程序不响应任务栏中的tile / cascade窗口

我有一个复杂的C ++程序(老式的Win32和WTL的混合),它不响应任何任务栏瓷砖/级联请求(即右键单击任务栏,并select“级联窗口”或“并排显示窗口”) 。 当我使用spy ++,我发现我的窗口没有收到任何窗口消息,而其他程序(在这种情况下,Firefox)得到一系列的WM_GETMINMAXINFO,WM_SIZE,WM_PAINT …

我的框架窗口的样式为WS_OVERLAPPEDWINDOW。 在创build框架窗口之前,我创build了几个隐藏的窗口。 我已经testing了多个不同的操作系统,症状是一样的。 Windows shell是否有限制或先决条件发送消息到我的框架窗口?

Windows将消息发送到由任务栏按钮表示的窗口。

在你的应用程序中,我在这里猜测了一下,它是由任务栏按钮表示的隐藏窗口之一。 窗口管理器不会将这些消息发送到隐藏窗口。

您可以通过安排主窗口是任务栏中显示的窗口来解决问题。 您可以阅读所有关于窗口出现在出色的MSDN主题窗口功能中的任务栏的血淋淋的详细信息。