2

我有一个复杂的 C++ 程序(老式 Win32 和 WTL 的混合体),它不响应任何任务栏磁贴/级联请求(即右键单击任务栏并选择“级联窗口”或“并排显示窗口”) . 当我使用 spy++ 时,我发现我的窗口都没有收到任何窗口消息,而其他程序(在本例中为 Firefox)得到一系列 WM_GETMINMAXINFO、WM_SIZE、WM_PAINT ...

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

4

1 回答 1

2

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

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

您可以通过将主窗口设置为任务栏中表示的窗口来解决问题。您可以在名为Window Features的优秀 MSDN 主题中阅读所有有关哪些窗口出现在任务栏中的血腥细节。

于 2011-04-15T19:41:43.160 回答