我有一个复杂的C ++程序(老式Win32和WTL的混合),它不响应任何任务栏磁贴/级联请求(即右键单击任务栏并选择“Cascade Windows”或“Show window side side by侧”)。当我使用spy ++时,我发现我的窗口都没有收到任何窗口消息,而其他程序(在本例中为Firefox)获得了一系列WM_GETMINMAXINFO,WM_SIZE,WM_PAINT ......
我的框架窗口样式为WS_OVERLAPPEDWINDOW。我在创建框架窗口之前创建了几个隐藏的窗口。我已经测试了多种不同的OS',症状是一样的。 Windows shell是否有任何限制或先决条件将消息发送到我的框架窗口?
答案 0 :(得分:2)
Windows将消息发送到由任务栏按钮表示的窗口。
在你的应用程序中,我在这里猜测一下,它是由任务栏按钮表示的隐藏窗口之一。窗口管理器不会将任何这些消息发送到隐藏窗口。
您可以通过安排主窗口是任务栏中显示的窗口来解决问题。您可以在标题为Window Features的优秀MSDN主题中阅读有关哪些窗口显示在任务栏中的详细信息。