WPF-приложение, которое претендует на настольную недвижимость аналогично панели задач Windows - PullRequest
3 голосов
/ 24 июля 2011

Я создаю приложение WPF, которое предназначено для использования в качестве панели инструментов уведомлений для отправки сообщений пользователям корпоративной программной платформы.Это полоса определенной высоты, растягивающаяся по всей нижней части рабочего стола пользователя и располагающаяся прямо над панелью задач Windows.

Я бы хотел, чтобы мое приложение «заявило» или«зарезервируйте» занимаемое пространство и не позволяйте загружать приложения позади него.Например, если вы измените размер панели задач Windows и увеличите ее, она будет перемещать значки и ярлыки, а в окнах максимизации будет использоваться только область рабочего стола, которая не уже используется панелью задач.

Есть идеи, как это можно осуществить?Уже установлено, что это самый верхний элемент на рабочем столе, так что это не мой вопрос.Прямо сейчас, если вы откроете другое приложение и развернете его, нижние пиксели X будут скрыты за моим приложением на панели инструментов.

(Обратите внимание, что я добавил теги Windows 7 и Windows XP - я бы хотел бытьв состоянии реализовать эту функцию на WinXP и выше, но если я не могу сделать это на определенной версии или версиях, я могу найти обходной путь)

1 Ответ

3 голосов
/ 24 июля 2011

Они называются AppBars в Windows, и вы можете использовать функцию SHAppBarMessage, чтобы «пристыковать» ваше окно к монитору. Тогда другие окна, когда они развернуты, не будут скрывать закрепленное окно.

Вот ссылка на похожий вопрос, который содержит больше информации, включая ссылку на страницу CodeProject, которая проведет вас через ее создание.

...