一个类似于Windows任务栏并占用桌面空间的WPF应用程序

5
我正在构建一个WPF应用程序,旨在作为向企业软件平台的用户发送消息的通知工具栏。它是一个特定高度的栏,横跨用户桌面底部,直接位于Windows任务栏上方。
我想要做的是让我的应用程序“占用”或“保留”它所占据的空间,并且不允许任何应用程序在其后面加载。例如,如果您调整Windows任务栏的大小并使其更大,它将移动图标和快捷方式,并且最大化窗口仅使用尚未被任务栏使用的桌面区域。
有什么想法可以实现这一点吗?它已经设置为桌面上最顶层的项目,因此这不是我的问题。现在,如果您打开另一个应用程序并将其最大化,则底部X像素将隐藏在我的工具栏应用程序后面。
(请注意,我已添加了Windows 7和Windows XP标签 - 我很想能够在WinXP及以上版本上实现此功能,但如果我无法在特定版本或版本上实现此功能,我可以想出解决方法)
1个回答

5
以下是翻译的结果:

在 Windows 中,这些被称为 应用栏(AppBars),您可以使用 SHAppBarMessage 函数将您的窗口“停靠”在监视器的一侧。然后,当其他窗口最大化时,它们不会遮挡已停靠的窗口。

这里有一个链接 可以找到更多信息,包括一个 CodeProject 页面的链接,向您演示如何创建应用栏。


谢谢你,这指引了我正确的方向。我正在考虑使用LogicNP的Shell Megapack(http://www.ssware.com/megapack.htm)来添加这个功能,特别是因为我想确保尽可能少地遇到其他版本的Windows问题。你没有用过类似工具吗? - Gunny
很抱歉,我不了解那个产品。但是我知道自从我记事以来,应用栏一直保持不变,所以我认为您在Windows版本差异方面不会遇到问题。 - Josh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接