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

Источник: reacoding

Одним из самых заметных изменений в 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, то есть создание всплывающего списка с различными категориями и задачами, создание многослойных иконок и прогресс-баров и обработка событий из окна предварительного просмотра.

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

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

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

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

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


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=22877