C++ 使子窗口出现在任务栏中

C++ 使子窗口出现在任务栏中,c++,winapi,C++,Winapi,如何在win32程序中使子窗口显示在任务栏中? (扩展样式的WS_EX_APPWINDOW,仅用于顶级窗口的帮助)通常只能在任务栏中显示弹出窗口,但您可以使用ITaskbarList界面来执行此操作 根据ITaskbarList::AddTab的文档 任何类型的窗口都可以添加到任务栏 我自己也没有尝试过,所以我不知道这是否适用于子窗口,但这是我能想到的唯一可能成功的方法 有关详细信息,请参阅。在任务栏中设置子窗口没有任何意义。也许你指的是一个拥有的窗口?我写了一个文字处理器,有几个文件,它们是子

如何在win32程序中使子窗口显示在任务栏中?

(扩展样式的
WS_EX_APPWINDOW,仅用于顶级窗口的帮助)

通常只能在任务栏中显示弹出窗口,但您可以使用
ITaskbarList
界面来执行此操作

根据
ITaskbarList::AddTab
的文档

任何类型的窗口都可以添加到任务栏

我自己也没有尝试过,所以我不知道这是否适用于子窗口,但这是我能想到的唯一可能成功的方法


有关详细信息,请参阅。

在任务栏中设置子窗口没有任何意义。也许你指的是一个拥有的窗口?我写了一个文字处理器,有几个文件,它们是子窗口,我希望每个文件都出现在taskbarIt中,但对于子窗口来说,它仍然没有真正的意义。选择任务栏项会做什么?Windows将不知道要隐藏哪些其他子窗口,也不知道如何处理子窗口的z顺序。只有您的应用程序知道如何做到这一点。为每个文档提供一个单独的任务栏缩略图(就像IE为单独的选项卡所做的那样)不是更合适吗?或者如果你真的想要,我想你可以创建隐藏的顶级窗口,在激活时显示相应的文档。我不希望这些文件是子窗口,因为它们的大小始终是父客户端区域的大小,因此它们将使用父窗口的菜单。但是子窗口无法获取
WM\u ACTIVATE
消息。如果要模拟具有相应顶级窗口的子窗口,请实际模拟:制作与子窗口对应的假顶级窗口。我的程序不知道
ITaskbarList
界面,我需要添加什么代码才能使用它?您需要使用带有CLSID_TaskbarList/IID_ITaskbarList的
CoCreateInstance
创建一个实例。我不知道COM,没有用于此的API函数?