c# - 声称类似于 Windows 任务栏的桌面空间的 WPF 应用程序

标签 c# wpf windows-7 windows-xp taskbar

我正在构建一个 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/

相关文章:

c# - 如何让 WPF UserControl 在设计时更新?

c# - 使用以下字符的 XML 无效 £ ` –

c# - 如何使两个图像与 WPF 重叠?

c# - TreeView 中任何项目的 OnExpanded 事件

.net - 实现 WPF MVVM 模式以关闭表单时获取 "DialogResult can be set only after Window is created and shown as dialog"

java - 我无法删除 Java 中的文件 (Windows 7)

windows-7 - 如何在 Win7 上干净地启动 ipython 的 qtconsole

c# - C# 中的简单游戏,仅包含 native 库

c# - 如何以 MHz 为单位快照处理器各个内核的速度

css - 从选择下拉列表中删除轮廓(Windows 7 上的 Chrome)