声称类似于 Windows 任务栏的桌面空间的 WPF 应用程序
Posted
技术标签:
【中文标题】声称类似于 Windows 任务栏的桌面空间的 WPF 应用程序【英文标题】:WPF application that claims desktop real estate similar to windows taskbar 【发布时间】:2011-10-11 21:26:03 【问题描述】:我正在构建一个 WPF 应用程序,该应用程序旨在充当通知工具栏,用于向企业软件平台的用户发送消息。它是一个特定高度的栏,一直延伸到用户桌面的底部,位于 Windows 任务栏的正上方。
我想做的是让我的应用程序“声明”或“保留”它占用的空间,并且不允许任何应用程序在其后面加载。例如,如果您要调整 Windows 任务栏的大小并使其变大,它将移动图标和快捷方式,并且最大化窗口将仅使用任务栏已未使用的桌面区域。
知道如何解决这个问题吗?它已经设置为桌面上最顶层的项目,所以这不是我的问题。现在,如果您打开另一个应用程序并将其最大化,那么底部 X 像素将隐藏在我的工具栏应用程序后面。
(请注意,我添加了 Windows 7 和 Windows XP 标记 - 我希望能够在 WinXP 及更高版本上实现此功能,但如果我无法在特定版本上执行此操作,我可以想出一个解决方法)
【问题讨论】:
【参考方案1】:这些在 Windows 中称为AppBars,您可以使用 SHAppBarMessage 函数将窗口“停靠”到监视器的一侧。然后其他窗口在最大化时不会遮挡停靠的窗口。
Here's a link 到一个包含更多信息的类似问题,包括一个指向 CodeProject 页面的链接,该页面将引导您创建一个。
【讨论】:
谢谢 - 这为我指明了正确的方向。我正在考虑使用来自 LogicNP (ssware.com/megapack.htm) 的 Shell Megapack 来加入这个功能,特别是因为我想确保我以尽可能少的麻烦为目标的其他版本的 Windows。不要以为您对这个或类似工具有任何经验吗? 很抱歉,我对该产品一无所知。但我确实知道,从我记事起,应用栏就一直保持不变,所以我认为 Windows 中的版本差异不会有问题。以上是关于声称类似于 Windows 任务栏的桌面空间的 WPF 应用程序的主要内容,如果未能解决你的问题,请参考以下文章