我正在构建一个 WPF 应用程序,该应用程序旨在充当通知工具栏,用于向企业软件平台的用户发送消息。它是一个特定高度的栏,一直延伸到用户桌面的底部,位于 Windows 任务栏的正上方。
我想做的是让我的应用程序“声明”或“保留”它占用的空间,并且不允许任何应用程序在它后面加载。例如,如果您要调整 Windows 任务栏的大小并使其变大,它将移动图标和快捷方式,并且最大化窗口将仅使用任务栏未已使用的桌面区域。
知道如何实现吗?它已经设置为桌面上最顶层的项目,所以这不是我的问题。现在,如果您打开另一个应用程序并将其最大化,那么底部 X 像素将隐藏在我的工具栏应用程序后面。
(请注意,我已经添加了 Windows 7 和 Windows XP 标签 - 我希望能够在 WinXP 及更高版本上实现此功能,但如果我无法在特定版本或多个版本上执行此操作,我可以想出一个解决方法)
最佳答案
这些被称为 AppBars在 Windows 中,您可以使用 SHAppBarMessage 函数将窗口“停靠”到监视器的一侧。然后其他窗口在最大化时不会遮挡停靠窗口。
Here's a link到一个包含更多信息的类似问题,包括指向 CodeProject 页面的链接,该页面将指导您创建一个页面。
关于c# - 声称类似于 Windows 任务栏的桌面空间的 WPF 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6804697/