c++程序对任务栏中的平铺/级联窗口没有响应

C++ program not responding to tile/cascade window from task bar

本文关键字:级联 窗口 响应 程序 任务栏 c++      更新时间:2023-10-16

我在c++中有一个复杂的程序(老派Win32和WTL的混合),它不响应任何任务栏平铺/级联请求(即右键单击任务栏并选择" cascade Windows"或"Show window by side")。当我使用spy++时,我发现我的窗口都没有收到任何窗口消息,而其他程序(在这种情况下,Firefox)获得一系列WM_GETMINMAXINFO, WM_SIZE, WM_PAINT…

我的框架窗口样式为WS_OVERLAPPEDWINDOW。在创建框架窗口之前,我创建了几个隐藏窗口。我在多个不同的操作系统上进行了测试,症状都是一样的。Windows shell向我的框架窗口发送消息是否有任何限制或先决条件?

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

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

您可以通过将主窗口安排为任务栏中表示的窗口来解决这个问题。

您可以在优秀的MSDN主题 中阅读有关哪些窗口出现在任务栏中的详细信息。