Набір Windows 7 API для керованого коду, Windows, Операційні системи, статті

Як уже згадувалося раніше при обговоренні бібліотек 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:



Після того, як ви завантажте і разархівіруете файл 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. Для панелі завдань ви можете:


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

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


Code Pack також пропонує повну підтримку бібліотек Windows 7, про які докладніше ми поговоримо наступного разу.

Варто зазначити, що ця бібліотека в даний час знаходиться в розробці. Поточний номер версії – v0.85. Фінальна версія цієї бібліотеки буде доступна до моменту релізу фінальної версії Windows 7. Будемо дуже вдячні, якщо ви допоможете нам удосконалити бібліотеку, завантаживши вихідний код і приклади і використовуючи їх у ваших додатках. Повідомляйте про виявлені помилки або пропонуйте виникли у вас ідеї через форму обговорення і форму діагностики проблем.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*