在不使用 WS_EX_TOOLWINDOW 的情况下从任务栏隐藏 Window

Hide Window from taskbar without using WS_EX_TOOLWINDOW

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

我发现为了从任务栏中隐藏 Window,我可以使用 WS_EX_TOOLWINDOW 样式,但我不希望关于 Window 有这个style,还有其他方法吗?

稍微简化一下,window 表示在任务栏中,如果:

  • 它不被拥有并​​且没有 WS_EX_TOOLWINDOW 扩展样式,或者
  • 它具有 WS_EX_APPWINDOW 扩展样式。

因此,您的解决方案是让 window 成为拥有者。它应该由您的应用程序的主要 window 拥有。当您创建关于 window 时,将主 window 句柄作为 hWndParent 传递。

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

除了解决任务栏问题外,设置所有者还将确保关于 window 始终显示在主要 window.

之上