声称桌面房地产类似于Windows任务栏的WPF应用程序

我正在构建一个WPF应用程序,该应用程序旨在充当通知工具栏,用于向企业软件平台的用户发送消息。 它是一个特定高度的栏,一直延伸到用户桌面底部,直接位于Windows任务栏上方。

我想做的是让我的应用程序“声明”或“保留”它占用的空间,不允许任何应用程序加载它。 例如,如果您要调整Windows任务栏的大小并使其变大,它将移动图标和快捷方式,并且最大化窗口将仅使用任务栏尚未使用的桌面区域。

不知道如何解决这个问题? 它已经被设置为桌面上最顶级的项目,所以这不是我的问题。 现在,如果你打开另一个应用程序并最大化它,那么底部X像素将隐藏在我的工具栏应用程序后面。

(请注意,我已经添加了Windows 7和Windows XP标签 – 我希望能够在WinXP上实现此function,但如果我无法在特定版本或版本上实现此function,我可以来解决方法)

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

这是一个类似问题的链接,其中包含更多信息,包括指向CodeProject页面的链接,指导您创建一个。