+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 80.76 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

Набор Windows 7 API для управляемого кода

09.12.2009 16:26

Как уже упоминалось ранее при обсуждении библиотек Windows 7 .NET Interop Sample Libraries, большинство API для Windows 7 написаны на C, C++ и COM и не имеют аналогов на .Net. Это немного осложняет жизнь разработчиков управляемого кода, вынуждая их создавать собственные интероперабельные слои, обеспечивающие обмен информацией между .NET и собственными API Windows. Некоторыми собственными API можно легкостью пользоваться с помощью управляемого кода - для этого необходима функциональная совместимость, достигаемая добавлением ссылок в библиотеку типов COM. Однако, не всегда все так просто и для работы с проблемными библиотеками потребуется неплохое знание программирования "Win32". Собственно, для этого и был создан Windows API Code Pack для Microsoft .NET Framework.

В статье о библиотеках Windows 7 .NET Interop Sample Libraries мы привели несколько примеров кода, демонстрирующих как получить доступ к панели задач, библиотекам, сенсорам и multi-touch из .NET, а также обещали рассказать о новом проекте Windows API Code Pack для библиотек Microsoft .NET Framework. Команда SDK Windows разработала Windows API Code Pack, чтобы обеспечить .NET-разработчикам простой доступ к функциям Windows 7, облегчая работу тем, кому будет достаточно и того, что они доберуться до приложений клиентской версии Windows 7. В общем, это самая полезная вещь, которая понадобится .NET-разработчику для управления кодом Windows 7.

Windows API Code Pack (Code Pack) намного мощнее в смысле функциональных возможностей и качества, чем его предшественник Windows Vista Bridge. Code Pack содержит широкий спектр API, включая исчерпывающий набор объектов Windows Shell, Windows Taskbar, библиотеки и набор расширенных лингвистических служб Windows 7. Вот лишь краткий перечень API из Windows API Code Pack:

  • Поддержка объектов пространства имен Windows Shell, включая:
     
    • Библиотеки Windows 7
       
    • Известные папки (от англ. Known Folders)
       
    • Контейнеры, не относящиеся к файловой системе

     
  • Диалоги задач для Vista и Windows 7
     
  • Поддержка элементов управления Windows 7 Explorer Browser
     
  • Поддержка подсистемы свойств Shell
     
  • Windows 7 Taskbar
     
  • Поддержка общих файловых диалогов в Vista и Windows 7
     
  • Поддержка Direct3D 11.0 и DXGI 1.0/1.1 API
     
  • API платформы сенсоров
     
  • Расширенные лингвистические службы Windows 7

После того, как вы загрузите и разархивируете файл v0.85, вы увидите папку с примерами - папку Samples. Эта папка содержит примеры, демонстрирующие все API, входящие в состав API Code Pack. Там же вы найдете папку WindowsAPICodePack, которая содержит весь исходный код для этой библиотеки. Это обеспечивает хорошую возможность понять взаимодействие библиотек, предоставляя полную свободу в изменении исходного кода.

На сегодняшний день доступно 13 примеров, а в будущих релизах их станет еще больше. Но сегодня мы обсудим лишь четыре из них.

WPF Explorer Browser
Прежде, чем вдаваться в детали этого примера, давайте поговорим о Windows Shell. Windows Shell - это основной фронт взаимодействия пользователя с Windows. Многие пользователи считают, что Windows Explorer это и есть "Windows", однако, это всего лишь часть всей оболочки Windows Shell. Оболочка включает и другие элементы пользовательского интерфейса, такие как панель задач, меню Start, окна Windows Explorer, корзину и даже результаты поиска. Самые обычные и известные объекты оболочки - файлы и папки. Однако, есть также и другие виртуальные объекты, такие как корзина, принтеры, библиотеки и т.д. Объекты оболочки организованы в иерархической системе пространства имен, которая охватывает файловую систему.

Правильное понимание устройства пространства имен оболочки и получения доступа к верхнему уровню системы Shell - рабочему столу - вы можете понять всю структуру компьютера, включая файлы и папки, принтеры, шрифты, программные файлы и записанные телепередачи. Используя пространство имен, разработчики могут обращаться ко всем файлам и папкам и всем известным папкам, которые были упомянуты в статье "За кулисами библиотек").

До последнего времени все эти действия были недоступны .Net-разработчиков. Однако, новый Code Pack предлагает элемент управления Explorer Browser, а также набор предопределенных объектов, свойства и API, необходимых для работы в пространстве имен. В разделе, относящейся к оболочке (Shell project) вы найдете элементы управления Explorer Browser для WPF и WinForms, равно как и все функциональные возможности, необходимые для операций с известными папками и такими объектами, как ShellObject, ShellLink, ShellFolder, ShellItem, ShellCollection, ShellThumbnail и т.д. Реализации панели задач и библиотек также используют многие из этих объектов оболочки. Как показано на следующем изображении, в примере Explorer Browser акцентируется внимание на элементе управления Explorer Browser, который помогает визуализировать пространство имен.

Аналогичным образом пример Shell Hierarchy Tree демонстрирует возможность перемещения по содержимому компьютера с помощью пространства имен:

Сенсоры
Code Pack также включает API для доступа к сенсорам через платформу Sensor and Location в Windows 7. Проект Sensor содержит все необходимые определения для нормальной работы с сенсорами, включая SensorManager для выбора и получения сенсора и класс сенсора для работы, и конечно SensorReport, который предоставит доступ к данным сенсора. Пример Sensor включает два примера, иллюстрирующие работу двух сенсоров: освещения и движения. Можно воспользоваться Virtual Light Sensor из SDK к версии-кандидату Windows 7, чтобы смоделировать различные условия освещения, а приложение Ambient Light Level - для отображения суммарного количества света, определенного сенсором.

Расширенные лингвистические службы
Расширенные лингвистические службы (далее ELS) - это еще одна очень интересная технология в Windows 7. ELS - новая функция, которая позволяет разработчикам использовать этот же набор API для увеличения разнообразия расширенных лингвистических функций. С помощью ELS API разработчики могут использовать информацию, полученную при автоматическом определении языка любого участка текста Unicode, чтобы сделать работу пользователей по всему миру более удобной. Платформа ELS - это связь между вашим приложением и сервисами ELS. Она обеспечивает простое использование некоторых видов лингвистических функциональных возможностей с помощью API, которые позволяют приложению обращаться и использовать определенные службы. Для получения дополнительной информации о API обращайтесь к статье о расширенных лингвистических службах.

Класс MappingAvailableServices позволяет сделать запрос на определение языка, на котором написана строка. И вы можете либо проверить язык, на котором написана строка, либо узнать, на каком языке написана эта строка. Это может стать весь мощным инструментом в руках разработчиков многоязычных приложений.

К тому же она проста в использовании. Например, следующая строка кода определяет языки, используемые в строке:

Код:
scriptDetection.RecognizeText("This is English. АБВГД.", null))

Результат будет выглядеть примерно так:

Код:
Recognized 2 script ranges
Range from 0 to 16, script Latn
Range from 17 to 22, script Cyrl

Панель задач и библиотеки
Code Pack содержит необходимые API для работы с панелью задач и библиотеками в Windows 7. Для панели задач вы можете:

  • Создавать и управлять всплывающими списками (от англ. JumpLists), включая разделе "Задачи" и "Элементы"
     
  • Отображать динамические многослойные иконки и панели миниатюр
     
  • Использовать прогресс-бар

На этом уровне разработке вы не можете управлять предварительным просмотром миниатюр и функцией, известной под названием AeroPeek. Для реализации этих функциональных возможностей потребуется Windows 7 Taskbar Sample .NET Interop Library.

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

Code Pack также предлагает полную поддержку библиотек Windows 7, о которых более подробно мы поговорим в следующий раз.

Стоит отметить, что эта библиотека в настоящее время находится в разработке. Текущий номер версии - v0.85. Финальная версия этой библиотеки будет доступна к моменту релиза финальной версии Windows 7. Будем очень признательны, если вы поможете нам усовершенствовать библиотеку, загрузив исходный код и примеры и используя их в ваших приложениях. Сообщайте об обнаруженных ошибках или предлагайте возникшие у вас идеи через форму обсуждения и форму диагностики проблем.

Ссылки по теме

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.

В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года