Обзор оболочки Интернета вещей

В этом документе рассматриваются оболочка Интернета вещей, приложения переднего плана и фоновые приложения, а также способы перехода между этими приложениями на устройстве.

Оболочка Интернета вещей, передний план и фоновые приложения

На устройстве IoT Базовая выполняется оболочка IoT. Он несет много обязанностей, но его основная задача заключается в том, чтобы убедиться, что зарегистрированные приложения запускаются. Он имеет два режима: Head и Headless. В режиме "Голова" оболочка Интернета вещей запустит одно зарегистрированное приложение для запуска, которое будет отображать свой пользовательский интерфейс в полноэкранном режиме (также известное как приложение с головой). В режиме "Голова" предполагается, что у вас есть подключенный экран и отображается пользовательский интерфейс. В режиме без головы (подробно описано здесь) отсутствует пользовательский интерфейс; Оболочка IoT запускает только фоновые приложения.

Ниже приведены main различия между приложениями переднего плана и фоновыми приложениями.

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

  • Фоновые приложения не имеют пользовательского интерфейса и тем самым экономят ресурсы устройства, отключив стек пользовательского интерфейса. Фоновые приложения часто выполняются непрерывно с момента запуска и часто используются для мониторинга устройства.

Переключение между приложениями с помощью домашнего приложения

На данный момент начальное приложение позволяет создать домашнее приложение для Windows 10 IoT Базовая, что позволяет переключаться между разными приложениями переднего плана.

Автозапускаемое приложение Интернета вещей (пример представляет собой простое приложение для запуска, которое выводит список установленных на устройстве приложений, а затем запускает его с помощью API PackageManager).

Переключение между приложениями с помощью клавиш внедрения HID

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

Пакет функций для поиска вызывается Microsoft-OneCore-IoTUAP-Shell-HotKeys-Feature-Package.cab , а функция называется IOT_SHELL_HOTKEY_SUPPORT. Пример см . в примере пакета Settings.HotKey .

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

Вернуться домой

В юбилейном обновлении Windows 10 IoT (1607) оболочка Интернета вещей поддерживает перенос окна приложения по умолчанию на передний план при запуске другого приложения путем нажатия клавиши "GO HOME", которая имеет значение выпуска кнопки Windows на клавиатуре. Если у вас нет клавиатуры на устройстве Интернета вещей и вам нужно внедрить низкоуровневые события клавиатуры с помощью внедрения HID или вы просто хотите повторно сопоставить функцию "GO HOME" с другим ключом в приложении, вы можете настроить значение ключа в реестре. Например, чтобы включить нажатие клавиши ESCAPE (0x1B) на "GO HOME", введите в реестр следующую команду:

“HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\HotKeys” “HOME” QWORD    0x0000000 0000001B  

Как REG-файл это выглядит следующим образом:

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\HotKeys]
"Home"=hex(b):1B,00,00,00,00,00,00,00

Переключение между приложениями

Кроме того, если вы хотите переключаться между приложениями переднего плана, можно настроить в образе функции Alt-Tab (следующее приложение) и SHIFT-ALT-TAB (предыдущее приложение), введя следующую команду в реестре:

“HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\HotKeys” “PREV” QWORD 0x00010000 00010009 “NEXT” QWORD 0x00020000 00050009

Как REG-файл это выглядит следующим образом: [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\HotKeys] "Prev"=hex(b):09,00,01,00,00,00,01,00 "Next"=hex(b):09,00,05,00,00,00,02,00

Битовое преобразование

Приведенные выше записи REG-файла декодируются слева направо следующим образом:

  • Биты от 0 до 15: код виртуального ключа (т. е. 1B,00 для ESCAPE). Полный список значений кода ключа см. в разделе Код виртуального ключа.
  • Биты 16–19: клавиша-модификатор. 0x0 = без модификатора, 0x1 = ALT, 0x2 = CTRL и 0x4 = SHIFT. Сочетание клавиш добавляет значения вместе (т. е. ALT+SHIFT 0x5).
  • Биты 20–47: зарезервированы для использования в будущем; значение должно быть 0
  • Биты 48–62: действие
    • 0 = главная
    • 1 = предыдущее представление (может не работать в будущих выпусках)
    • 2 = следующее представление (может не работать в будущих выпусках)
  • Бит 63: зарезервировано; значение должно быть 0