不使用WS_EX_TOOLWINDOW从任务栏隐藏窗口

我有一个主窗口和一个关于窗口,关于窗口是从主窗口打开的,但问题是关于窗口显示在任务栏中!

我发现为了从任务栏隐藏一个窗口,我可以使用WS_EX_TOOLWINDOW样式,但我不希望关于窗口具有这种样式,那么还有另一种方法吗?

简化一点,如果出现以下情况,任务栏中会显示一个窗口:

  • 它不是拥有的,也没有WS_EX_TOOLWINDOW扩展样式,或者
  • 它具有WS_EX_APPWINDOW扩展样式。

因此,您的解决方案是使窗口成为拥有者。 它应该由您的应用程序的主窗口拥有。 创建about窗口时,将主窗口句柄作为hWndParent传递。

 hWndAbout := CreateWindowEx(..., hWndMainWindow, ...); ^^^ hWndParent 

除了解决任务栏的问题,设置所有者还将确保about窗口始终显示在主窗口的顶部。