在不使用 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.
之上
我有一个主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.
之上