Библиотека Windows 7 Taskbar .NET Sample Library (ч.1)

Одним из самых заметных изменений в Windows 7 является, пожалуй, новая панель задач. Статья «Панель задач Windows 7», опубликованная в блоге E7, подробно рассказывает о причинах появления панели задач в Windows 7 в том виде, в котором мы ее знаем.

У панели задач Windows 7 появилось множество новых возможностей, которые предстоит освоить разработчикам программного обеспечения для того, чтобы полноценно использовать ее в своих приложениях, повысив качество и удобство работы пользователей. Панель задач Windows 7 – это механизм запуска и переключения приложений, вобравший в себе функциональные возможности предыдущих реализаций, таких как панель быстрого запуска, недавние документы, область уведомлений, ярлыки рабочего стола и окна запущенных приложений.

Если вы не знаете и не видели, что представляет собой новая панель задач, рекомендую для начала ознакомиться с вебкастом «Обзор панели задач Windows 7» на Channel 9. Это позволит лучше вникнуть в технические подробности, о которых пойдет речь в этой статье.

Это первая статья цикла, посвященного новой панели задач. И в ней я расскажу как о новых возможностях, так и библиотеке компонентов Taskbar .NET Intertop Library, являющейся частью библиотеки .NET Interop Sample Library.

Итак, давайте рассмотрим архитектуру библиотеки Windows 7 Taskbar and Libraries .NET Interop Sample Library, в частности, панели задач и выделим важные классы. Структура библиотеки выглядит следующим образом:

Обновленная версия Vista Bridge Sample Library – примеры кода выполнены на базе версии 1.4. Как упомянуто выше, проект Windows Vista bridge будет заменен на новый Windows API Code Pack для библиотеки .NET.

· В папке Demo расположено несколько проектов, демонстрирующих различные аспекты работы панели задач и библиотек.

· Папка Wrappers содержит сборку Windows7.DesktopIntegration, являющейся основным API-менеджером для панели задач и библиотек

Давайте взглянем на основные классы, предоставляющие новые возможности разработчикам:

· Класс Windows 7 Taskbar обеспечивает низкоуровневые средства для управления приложениями (отдельными окнами или процессами), управления миниатюрами окон, управления многослойными значками и индикаторами выполнения, а также миниатюрами панели задач.

· Класс JumpListManager обеспечивает абстракцию всплывающих списков приложения, включая возможности управления различными разделами.

· Класс ThumbButtonManager обеспечивает абстракцию панели миниатюр, включая возможности создания кнопок на этой панели и получения событий при нажатии.

· Класс CustomWindowsManager обеспечивает абстракцию настраиваемых миниатюр окон и функции AeroPeek, включая возможности получения уведомлений при запросе растрового изображения Desktop Window Manager (DWM), а также при последующем его захвате.

А теперь давайте познакомимся с примерами приложений, в которых реализованы возможности панели задач:

MainDemo – это простое WinForm-приложение, в котором представлены все новые возможности панели задач, доступные через API, то есть создание всплывающего списка с различными категориями и задачами, создание многослойных иконок и индикаторов выполнения и обработка событий из окна предварительного просмотра.

image

Чтобы приложение работало должным образом, необходимо зарегистрировать его как обработчик текстовых файлов (*.txt). Это нужно для того, чтобы каждый раз когда вы открываете текстовый файл из Windows Explorer, Windows автоматически вызывала от лица приложения SHAddToRecentDocs. Это добавит новый элемент в список недавних файлов Windows и в раздел Recent всплывающего списка. Тоже самое происходит, если использовать стандартное диалоговое окно открытия файла в этом приложении.

Зарегистрировать приложение можно из меню инструментов Administrative.

Приложение DocumentReader показывает, как разработчики могут управлять окном предварительного просмотра путем настройки просматриваемой области.

IMClient демонстрирует, как значки панели задач и индикаторы выполнения могут использоваться для вывода информации взамен отдельных диалоговых окон или значков в области уведомлений. Стоит также отметить, что в Windows 7 область уведомлений претерпела серьезные изменения и теперь в ней представлено меньше значков, дабы не захламлять панель ненужными значками и всплывающими сообщениями.

image

И наконец, последний пример, WebBrowser, показывает как можно настроить предварительный просмотр миниатюр и функцию AeroPeek, а также отображать отдельные внутренние вкладки. Как видите, можно также перевернуть изображение или добавить текстовое описание сверху.

Вот несколько дополнительных ресурсов, посвященных теме программирования панели задач Windows 7:

· Загрузить документацию и примеры со страницы «Панель задач Windows 7: ресурсы для разработчиков» на MSDN

· Страница в блоге Саши Голдштейна (Sasha Goldstein)

Видео на Channel 9:

· Разрабатывая панель задач Windows 7

· За кулисами панели задач Windows 7

· Всплывающие списки в панели задач Windows 7

· Обзор панели задач Windows 7