(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Windows 7: Теперь все устройства доступны в два щелчка

Источник: rsdnru/
Бойко Алексей

Введение
Как это работает

Откуда Windows берет информацию об устройстве
Как Windows сопоставляет файл описания и устройство
Hardware ID
Model ID

Шаг 0: Подготовительные работы

Узнаем Hardware ID флешки
XSD-схемы
CABARC.EXE

Шаг 1: Меняем иконку в папке "Устройства и принтеры"

Структура архива .devicemetadata-ms
PackageInfo.xml
WindowsInfo.xml
DeviceInfo.xml
Создание архива .devicemetadata-ms

Шаг 2: Простой Device Stage

Изменения в PackageInfo.xml
Behavior.xml и Resource.xml

Шаг 3: Выводим текущие параметры устройства
Шаг 4: Задачи
Что дальше
Ссылки

Исходники к статье

Введение

Данная статья посвящена сразу двум нововведениям в Windows 7, облегчающим работу с телефонами, принтерами, плеерами и другим оборудованием. Речь о новой папке "Устройства и принтеры" и страницах Device Stage.

Теперь все устройства собраны в одном месте и доступны в два щелчка: "Пуск" -> "Устройства и принтеры". Устройства отображаются фотореалистичными иконками, так что нам даже не надо знать, как они называются. Двойной щелчок по иконке откроет страницу Device Stage, на которой представлены основные функции и параметры устройства. Отметим, что папка "Устройства и принтеры" и Device Stage - это именно две (а не одна) возможности, дополняющие друг друга. Почти все оборудование отображается в "Устройствах и принтерах", но не у каждого есть страница Device Stage.

Для знакомства с новшествами будем использовать обычную флешку. За четыре шага, постепенно усложняя пример, мы создадим полноценную страницу Device Stage. Каждый шаг - это готовое к использованию, реально работающее решение. К статье прилагаются четыре папки, по одной на шаг.

Как это работает

Откуда Windows берет информацию об устройстве

Для хранения иконок и информации об оборудовании в Windows появилась специальная папка - DeviceMetadataStore. Когда мы подключаем к компьютеру свой плеер или телефон, система находит в ней соответствующий .devicemetadata-ms-файл с описанием.

devicemetadata-ms-файлы автоматически загружаются с сервера Microsoft, но их можно положить в папку %PROGRAMDATA%\Microsoft\Windows\DeviceMetadataStore и вручную.

Файлы описания создаются разработчиками устройств и передаются Microsoft. Перед размещением на сервере Microsoft проверяет, помечает и подписывает полученные файлы.

ПРИМЕЧАНИЕ

Обратите внимание, Microsoft помечает и подписывает файлы описания. Позже мы к этому вернемся.

На самом деле, файл .devicemetadata-ms - это архив. Чтобы посмотреть его содержимое, нужно поменять разрешение на .cab. Чуть позже мы подробно рассмотрим содержимое таких архивов (собственно, этому-то и посвящена статья).

Как Windows сопоставляет файл описания и устройство

Какой именно файл соответствует данному устройству, система определяет с помощью:

  • Hardware ID;
  • или Model ID.

Hardware ID

Любое оборудование, совместимое с Windows, при подключении сообщает системе один или несколько идентификаторов Hardware ID. С помощью этих идентификаторов Windows определяет, какой драйвер нужно использовать для устройства. Теперь Hardware ID применяется и для поиска соответствующего devicemetadata-ms-файла.

В некоторых случаях такой способ связи устройства c файлом описания подходит, а в некоторых - нет. Причина в том, что разные устройства могут использовать один и тот же драйвер, и, соответственно, сообщать один и тот же Hardware ID. Простой пример: новая модель телефона использует тот же драйвер, что и старая. Пользователю гораздо приятнее будет увидеть иконку с изображением своего нового телефона. И это действительно важно, ведь мы говорим о нововведениях, призванных упростить и сделать приятной работу пользователя. Какой смысл в фотореалистичной иконке, если на ней изображен другой аппарат? Коллега на работе радовался как ребенок, когда его новая красивая красная мышка от Microsoft отобразилась в папке "Устройства и принтеры" иконкой именно красного цвета. А ведь мышка выпускается в шести цветовых вариантах. Тут мы подошли к новому способу идентификации оборудования - Model ID.

Model ID

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

ПРИМЕЧАНИЕ

Еще один пример того, насколько сильно Windows 7 отличается от предшественников. Новая система идентификации устройств, затрагивающая производителей - это не шутки.

В зависимости от выбора разработчика, в файле описания указывается или список Model ID, или список Hardware ID тех устройств, к которым относится файл.

Шаг 0: Подготовительные работы

Подведем промежуточный итог и набросаем краткий план действий. Сейчас наша флешка отображается в папке "Устройства и принтеры" иконкой по умолчанию, никакой специфической информации об устройстве не выводится (рисунок 1).


Рисунок 1. Отображение флешки в папке "Устройства и принтеры" по умолчанию

Чтобы Windows могла показать более полные данные о флешке, нужно:

  1. узнать Hardware ID (или Model ID) флешки;
  2. подготовить файл описания;
  3. скопировать файл описания в папку DeviceMetadataStore.

Узнаем Hardware ID флешки

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

Чтобы узнать Hardware ID, нужно: в папке "Устройства и принтеры" щелкнуть правой кнопкой мыши по иконке флешки -> Свойства -> вкладка Оборудование -> тип Дисковые устройства -> кнопка Свойства -> в новом окне вкладка Сведения -> в выпадающем списке Свойство : ИД оборудования (рисунок 2).


Рисунок 2. Список Hardware ID

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

XSD-схемы

Как уже говорилось, файл .devicemetadata-ms - это на самом деле архив. Этот архив содержит только XML-файлы и картинки, разложенные по подпапкам. Все описывается с помощью XML, так что нам придется много с ним работать. Оставим возню с разными видами блокнотов школьникам и любителям "альтернативных решений". Мы-то знаем, что ничего лучше Visual Studio не придумали - остается только добавить нужные XSD схемы в папку ..\Visual Studio\Xml\Schemas

Что бы получить XSD-схемы, нужно установить "Microsoft Device Experience Development Kit" (см. ссылки в конце статьи). Схемы находятся в каталоге ..\Microsoft Device Experience Development Kit 7R2\General\XML Schemas\

CABARC.EXE

Для создания файлов .devicemetadata-ms нужна утилита CABARC.EXE. Отдельно её скачать нельзя, она идет в комплекте с "Device Stage Visual Editor Tool". Да, да, для изготовления страниц Device Stage есть GUI-приложение. Но его мы использовать не будем. И не потому, что нам чужд комфорт, или мы презираем все, чем могут пользоваться непосвященные непрограммисты (как это часто делают ярые воинствующие поклонники не-Windows-систем). Просто работа "вручную" даст нам больше гибкости и лучшее понимание процесса.

Шаг 1: Меняем иконку в папке "Устройства и принтеры"

В первом шаге мы создадим самый простой файл описания, не использующий возможности Device Stage. Нет никакой необходимости приводить в тексте статьи полные листинги XML-файлов - файлы для первого шага можно найти в папке "example1", прилагаемой к статье. Поэтому в листингах будут показаны только те части, на которые нужно обратить внимание, самое главное выделено.

Структура архива .devicemetadata-ms

На рисунке 3 представлена структура архива .devicemetadata-ms. В качестве названия архива должен использоваться глобальный уникальный идентификатор (GUID). Например: 0055f9a7-ffef-4017-be40-e1e118fa4e86.devicemetadata-ms.


Рисунок 3. Структура архива .devicemetadata-ms, не поддерживающего Device Stage

Из рисунка 3 видно, что нужно создать три XML-файла (PackageInfo.xml, DeviceInfo.xml, WindowsInfo.xml) и одну иконку.

PackageInfo.xml

Как и следует из названия, этот файл используется для описания .devicemetadata-ms-пакета (файла описания). В нем указывается такая информация, как время создания пакета, используемые XML-схемы, локализация по умолчанию. Но самое главное - там указывается список Hardware ID (или список Model ID), c которыми связан пакет.

Листинг 1. PackageInfo.xml

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<PackageInfo xmlns="...">
  <MetadataKey>
    <HardwareIDList>
      <HardwareID>DOID:USBSTOR\Disk-Pretec_01GB____________2.00</HardwareID>
    </HardwareIDList>
    <Locale default="true">en-US</Locale>
    <LastModifiedDate>2011-07-02T23:22:09Z</LastModifiedDate>
  </MetadataKey>
  <PackageStructure>
    <Metadata MetadataID="...">PackageInfo.xml</Metadata>
    <Metadata MetadataID="...">DeviceInformation</Metadata>
    <Metadata MetadataID="...">WindowsInformation</Metadata>
  </PackageStructure>
</PackageInfo>

Обратите внимание на приставку "DOID", которую нужно указать перед Hardware ID. Есть еще приставка "SFDOID" (Single Function Device), но она сейчас не используется и зарезервирована для будущих версий Windows. Эти приставки указывают на то, сколько функций выполняет устройство - одну или несколько. Например, часто встречаются многофункциональные устройства, сочетающие в себе принтер, факс и сканер. Чуть позже мы еще раз поговорим о функциях устройства.

WindowsInfo.xml

Здесь описываются правила отображения иконки и страницы Device Stage.

Листинг 2. WindowsInfo.xml

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<WindowsInfo xmlns="...">
  <ShowDeviceInDisconnectedState>false</ShowDeviceInDisconnectedState>
  <LaunchDeviceStageOnDeviceConnect>false</LaunchDeviceStageOnDeviceConnect>
  <LaunchDeviceStageFromExplorer>false</LaunchDeviceStageFromExplorer>
</WindowsInfo>

ShowDeviceInDisconnectedState - показывать устройство в папке "Устройства и принтеры", когда устройство не подключено. Иконка неподключенного устройства будет более бледной (см. рисунок 1). Кстати, задать свою отдельную иконку для отключенного состояния оборудования нельзя.

LaunchDeviceStageOnDeviceConnect - открывать страницу Device Stage автоматически при подключении устройства.

LaunchDeviceStageFromExplorer - открывать Device Stage по двойному щелчку по иконке.

DeviceInfo.xml

Лучше один раз увидеть, чем сто раз услышать (рисунок 4).


Рисунок 4. Описание DeviceInfo.xml

Рисунок 4 говорит сам за себя. Стоит отметить только узел DeviceCategory, который в нашем случае указывает на то, что устройство - это флешка. Если устройство - многофункциональное, можно указать несколько категорий (например, принтер часто является и сканером). Помните, выше, когда описывали PackageInfo.xml, мы упоминали приставки "DOID" и "SFDOID"?

Первый узел DeviceCategory указывает на главную категорию - устройство, сочетающее в себе и принтер и сканер, чаще всего называют "принтером со встроенным сканером", но не "сканером со встроенным принтером".

ПРИМЕЧАНИЕ

Как-то мне пришлось вступить в спор с вполне авторитетными товарищами, которые утверждали, что XML - это что-то вроде таблицы в базе данных. Т.е. порядок следования XML-узлов точно так же непринципиален, как и порядок строк в таблице. Но мы знаем, что в XML порядок следования узлов может иметь значение.

Полный список категорий с пояснениями находится в документе "How to Create a Device Metadata Package for Devices and Printers".

Создание архива .devicemetadata-ms

Теперь у нас есть все необходимые файлы (опустим процесс получения иконки). Создадим следующую структуру директорий (листинг 3):

Листинг 3. Структура директорий для создания архива .devicemetadata-ms

.\0055f9a7-ffef-4017-be40-e1e118fa4e86.\0055f9a7-ffef-4017-be40-e1e118fa4e86\PackageInfo.xml
.\0055f9a7-ffef-4017-be40-e1e118fa4e86\DeviceInformation\DeviceInfo.xml
.\0055f9a7-ffef-4017-be40-e1e118fa4e86\DeviceInformation\i_disk_wave_black.ico
.\0055f9a7-ffef-4017-be40-e1e118fa4e86\WindowsInformation\WindowsInfo.xml

Запускаем CABARC.EXE (листинг 4).

Листинг 4. Вызов CABARC.EXE (все в одну строку без переносов)

Cabarc.exe -r -p -P .\0055f9a7-ffef-4017-be40-e1e118fa4e86\ N 
.\0055f9a7-ffef-4017-be40-e1e118fa4e86.devicemetadata-ms 
.\0055f9a7-ffef-4017-be40-e1e118fa4e86\*.*

Копируем 0055f9a7-ffef-4017-be40-e1e118fa4e86.devicemetadata-ms в DeviceMetadataStore.

Шаг 2: Простой Device Stage

Во втором шаге мы доработаем пример так, что при двойном щелчке по иконке будет открываться простая страница Device Stage. Готовый пакет находится в папке "example2".

В структуре архива .devicemetadata-ms появится новая папка DeviceStage (рисунок 5).


Рисунок 5. Структура архива .devicemetadata-ms, поддерживающего Device Stage

Прежде всего подредактируем WindowsInfo.xml, чтобы по двойному щелчку по иконке открывалась страница Device Stage.

Листинг 5. Изменения в WindowsInfo.xml для поддержки Device Stage

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<WindowsInfo xmlns="...">
 <ShowDeviceInDisconnectedState>false</ShowDeviceInDisconnectedState>
 <LaunchDeviceStageOnDeviceConnect>false</LaunchDeviceStageOnDeviceConnect>
 <LaunchDeviceStageFromExplorer>true</LaunchDeviceStageFromExplorer>
</WindowsInfo>

Изменения в PackageInfo.xml

Нужно также внести изменения и в PackageInfo.xml (листинг 6).

Листинг 6. Изменения в PackageInfo.xml для поддержки Device Stage

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<PackageInfo xmlns="...">
  ...
  <PackageStructure>
    <Metadata MetadataID="...">PackageInfo.xml</Metadata>
    <Metadata MetadataID="...">DeviceInformation</Metadata>
    <Metadata MetadataID="...">WindowsInformation</Metadata>
    <Metadata MetadataID="...">DeviceStage</Metadata>
  </PackageStructure>
  <Relationships>
    <ExperienceID>E129DCA4-8767-425D-B7A5-EC179393BEF4</ExperienceID>
  </Relationships>
</PackageInfo>

Добавилась еще одна Metadata, но это неинтересно. Обратить внимание стоит на узел ExperienceID. Помните, в начале статьи мы говорили о том, что Microsoft помечает и подписывает .devicemetadata-ms-файлы (см. раздел "Откуда Windows берет информацию об устройстве")? Узел ExperienceID и есть та самая метка, которую выставляет Microsoft. Для экспериментов мы подставили произвольный GUID. Конечно, подставить GUID самостоятельно без Microsoft мы можем, а вот подписать пакет без Microsoft не получится.

ПРИМЕЧАНИЕ

В "легальных" архивах .devicemetadata-ms находится файл с подписью - sign.cat.

И тут нас ждет небольшое разочарование. Чтобы наш неподписанный файл описания был принят системой, нужно перейти в тестовый режим (листинг 7).

Листинг 7. Переход в тестовый режим. Требуется перезагрузка.

Bcdedit -set testsigning ON
 

Behavior.xml и Resource.xml

Behavior.xml описывает внешний вид страницы Device Stage и то, какие функции на ней будут представлены (рисунок 6).


Рисунок 6. Описание Behavior.xml

В странице Device Stage мы использовали не все предусмотренные стилистические возможности.

Отметим, что значение атрибута ExperienceID должно совпадать со значением одноименного узла в файле PackageInfo.xml.

В узле taskCategoryMapping перечисляются доступные задачи. В нашем примере указана одна задача - "Просмотр файлов". Более подробно задачи мы рассмотрим в четвертом шаге.

Текст строк маркированного списка (узел marketingBullets) указывается в Resource.xml и связывается с помощью атрибута id узлов bullet (листинг 8).

Листинг 8. Resource.xml

<?xml version="1.0" encoding="utf-8"?>
<stringTable xmlns="...">
  <string id="bullet1">Example for RSDN</string>
  <string id="bullet2">RSDN Group and Microsoft contest</string>
</stringTable>

Создаем архив .devicemetadata-ms, входим в тестовый режим, копируем архив в DeviceMetadataStore, радуемся.

Шаг 3: Выводим текущие параметры устройства

В шапке Device Stage взамен маркированного списка (см. рисунок 6) можно выводить до 6 текущих параметров устройства, например, уровень заряда батареи и количество свободного места. Батареи во флешке нет, поэтому будем довольствоваться выводом информации о свободном месте (рисунок 7).


Рисунок 7. Вывод информации о свободном месте

Внесем дополнения в Behavior.xml (листинг 9).

Листинг 9. Изменения в Behavior.xml для вывода информации о свободном месте

<?xml version="1.0" encoding="utf-8"?>
<deviceBehavior xmlns="...">
    ...
  <statusItems statusProvider="{c2dae44d-c850-425c-b466-d8cbc1469f5d}"
    statusPropList="prop:System.Devices.StorageFreeSpacePercent;">
  </statusItems>
</deviceBehavior>

В Windows 7 предусмотрены встроенные возможности по определению текущих параметров подключаемых устройств. Для их использования нужно знать идентификатор statusProvider-а и названия свойств. Ну и конечно, нужно, чтобы устройство поддерживало такую возможность. Можно создавать свои собственные статусы - интересная тема, но и объемная. Придется отложить её для будущих статей. Тут отметим только, что информацию о встроенных statusProvider-ах можно найти в "Microsoft Device Experience Development Kit". Например, используемый нами statusProvider {c2dae44d-c850-425c-b466-d8cbc1469f5d} описан в документе "Windows 7 Device Stage Portable Devices Development Guide".

Еще немного доработаем пример. Пусть по щелчку по статусу (информации о свободном месте) будет открываться содержимое флешки, т.е. будет выполняться задача "Просмотр файлов", о которой мы уже говорили в "Шаге 2". Посмотрите на листинг 10.

Листинг 10. Выполнение задачи по щелчку по статусу

<?xml version="1.0" encoding="utf-8"?>
<deviceBehavior xmlns="...">
  ...
  <taskCategoryMapping>
    <taskRef taskGroupGuid="{07deb856-fc6e-4fb9-8add-d8f2cf8722c9}" 
      taskId="{29e7ef4e-b212-4bf9-b95b-1e073fba48e8}" />
  </taskCategoryMapping>
  <statusItems statusProvider="{c2dae44d-c850-425c-b466-d8cbc1469f5d}"
      statusPropList="prop:System.Devices.StorageFreeSpacePercent;">
    <statusLinks>
      <statusLink statusProp="System.Devices.StorageFreeSpacePercent" 
         taskId="{29e7ef4e-b212-4bf9-b95b-1e073fba48e8}"/>
    </statusLinks>
  </statusItems>
</deviceBehavior>

Задача должна быть обязательно указана и в узле taskCategoryMapping, то есть нельзя повесить задачу на статус и при этом не вывести её повторно среди списка всех доступных задач.

Чтобы иконка устройства отображалась на панели задач, как на рисунке 7 справа, нужно отредактировать WindowsInfo.xml - листинг 11.

Листинг 11. Включаем иконку на панели задач. WindowsInfo.xml

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<WindowsInfo xmlns="...">
  <ShowDeviceInDisconnectedState>false</ShowDeviceInDisconnectedState>
  <LaunchDeviceStageOnDeviceConnect>true</LaunchDeviceStageOnDeviceConnect>
  <LaunchDeviceStageFromExplorer>true</LaunchDeviceStageFromExplorer>
</WindowsInfo>

Шаг 4: Задачи

Мы уже знаем, что в Windows 7 есть встроенные statusProvider-ы. Также в Windows есть и встроенные задачи. Задачи рассортированы по категориям. Чтобы добавить задачу, нужно знать её GUID и GUID категории (узел taskRef в листинге 10). Можно создавать свои задачи, которые будут открывать сайты и запускать приложения. Кроме того, для самодельных задач можно выставлять условия. Например, сделать так, что задача будет видна, только если компьютер подключен к сети или установлена определенная программа. Можно даже проверять ключи в реестре.

В четвертом шаге мы добавим самодельную задачу, открывающую внутри Device Stage web-страницу (рисунок 8). Задача будет видна, только если есть подключение к интернету.


Рисунок 8. Задача, открывающая web-страницу.

Все задачи должны относиться к какой-нибудь категории. Поэтому вначале нужно её (категорию) создать. Посмотрите на рисунок 9. Там показаны новые элементы в папке DeviceStage нашего архива .devicemetadata-ms.


Рисунок 9. Новые файлы и папки для самодельной задачи

Создать свою категорию задач - это значит создать подпапку для "Task". При этом название папки должно следовать шаблону: {произвольный GUID} (скобочки обязательны).

Далее нужно подготовить Tasks.xml и Resource.xml (листинг 12).

Листинг 12. Tasks.xml

<?xml version="1.0" encoding="utf-8"?>
<taskGroup revocation="false" xmlns="..." 
    taskGroupGuid="{099b7f7d-4d13-4f89-869d-6974ede694b1}">
  <tasks>
    <task id="{1bf99ef2-6b9b-4d9d-832a-cbffd60eb966}" rank="0" 
        issueTime="2010-06-02T10:56:20Z" 
        requiresElevation="false" name="taskName" 
        description="taskDescription" icon="win.ico">
      <requirements>
        <online />
      </requirements>
      <command type="HostedSite">
        <arguments>
          <commandLine>http://www.rsdn.ru</commandLine>
        </arguments>
      </command>
    </task>
  </tasks>
</taskGroup>

Resource.xml

<?xml version="1.0" encoding="utf-8"?>
<stringTable xmlns="...">
  <string id="taskName">RSDN</string>
  <string id="taskDescription">Visit RSDN</string>
</stringTable>

В Tasks.xml значение атрибута taskGroupGuid должно совпадать с GUID категории (с названием папки, которую мы создали ниже "Task"). Идентификатор задачи (атрибут id узла task) - это произвольный GUID, заключенный в фигурные скобки. Также обратим внимание на необязательный узел requirements. В нем задаются условия отображения задачи. В нашем примере задача требует подключения к Интернет.

Перечислять возможные типы команд (атрибут type узла command) мы не будем - ведь у нас есть Visual Studio с подключенными XSD-схемами, которая выводит всплывающие подсказки. Вроде бы дополнительных пояснений листинг 12 не требует.

Все готово, остается только добавить задачу в behavior.xml. Из листинга 13 видно, что самодельная задача добавляется точно так же, как встроенная в Windows.

Листинг 13. Behavior.xml. Самодельные задачи добавляются так же, как встроенные в Windows

<?xml version="1.0" encoding="utf-8"?>
<deviceBehavior xmlns="...">
 ...
  <taskCategoryMapping>
    <taskRef taskGroupGuid="{099b7f7d-4d13-4f89-869d-6974ede694b1}" 
      taskId="{1bf99ef2-6b9b-4d9d-832a-cbffd60eb966}" />
    <taskRef taskGroupGuid="{07deb856-fc6e-4fb9-8add-d8f2cf8722c9}" 
      taskId="{29e7ef4e-b212-4bf9-b95b-1e073fba48e8}" />
  </taskCategoryMapping>
 ...
</deviceBehavior>

Что дальше

Если вы дочитали до этого места - значит меня, как автора, можно поздравить. Еще немного, и издателю пришлось бы делать твердый переплет, а мне - писать благодарности. И все же, статья оставляет больше вопросов, чем дает ответов.

Мы узнали, как организованы новые возможности Windows 7 - папка "Устройства и принтеры" и страницы Device Stage, как система различает устройства, и о том, что в Windows 7 появилась новая система идентификации оборудования по ModelID. А еще нас поджидало разочарование - мы никогда не сможем сделать для своего телефона самую лучшую, самую удобную страницу Device Stage. Вернее, сделать-то сможем, а вот использовать - вряд ли, не будем же мы все время сидеть в тестовом режиме. Нам остается только довольствоваться фотореалистичной иконкой - это не требует подписи Microsoft.

ПРИМЕЧАНИЕ

Это действительно очень грустно. Почему у нас нет возможности использовать свои страницы Device Stage? Понятно, что причина этому есть. Но, наверно, можно найти и компромисс. Если вы знаете, как сообщить Microsoft такое предложение, свяжитесь со мной.

По самым скромным прикидкам, за бортом остались:

  • Создание контекстных задач, открывающихся по щелчку правой кнопки мыши по иконке устройства в папке "Устройства и принтеры", а также создание своих страниц со свойствами. Данные вопросы рассмотрены в "Devices and Printers - Extensibility Guide".
  • Вопросы локализации.
  • Создание своих самодельных статусов устройства. Начать изучение можно с документа "Microsoft Device Experience Development Kit 7R2\Portable Devices\Documentation\Windows 7 Device Stage Portable Device Class Development Guide.docx"
  • Интереснейшая тема: взаимодействие с устройством из web-сайта через Device Stage (см. тот же документ, что и пунктом выше).

Нельзя не отметить высокое качество обучающих материалов Microsoft. Описание очень полное, хорошо структурировано и написано понятным языком.

Ссылки

Ссылки на все материалы, упоминающиеся в статье, перечислены на странице "Windows Device Experience" (я же говорил, что информация хорошо структурирована): http://www.microsoft.com/whdc/device/DeviceExperience/default.mspx.

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


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 10.02.2011 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 Профессиональный Плюс. Подписка на 1 рабочее место на 1 год
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft 365 Business Basic (corporate)
Microsoft 365 Business Standard (corporate)
Microsoft 365 Apps for business (corporate)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
CASE-технологии
Программирование на Microsoft Access
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
3D и виртуальная реальность. Все о Macromedia Flash MX.
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100