Introducción al shell de IoT

En este documento se describe el Shell de IoT, las aplicaciones en primer plano y en segundo plano, y cómo navegar entre estas aplicaciones en el dispositivo.

Shell de IoT, primer plano y aplicaciones en segundo plano

El dispositivo IoT Core ejecuta el Shell de IoT. Tiene muchas responsabilidades, pero su trabajo principal es asegurarse de que se inician las aplicaciones de inicio registradas. Tiene dos modos: Encabezado y Sin cabeza. En el modo Encabezado, el Shell de IoT iniciará una sola aplicación de inicio registrada que mostrará su interfaz de usuario en pantalla completa (también conocida como aplicación de encabezado). El modo encabezado supone que tiene una pantalla conectada y muestra la interfaz de usuario. En el modo sin encabezado (que se explica con detalle aquí), no hay ninguna interfaz de usuario; IoT Shell solo inicia aplicaciones en segundo plano.

Estas son las principales diferencias entre las aplicaciones en primer plano y en segundo plano:

  • Las aplicaciones en primer plano tienen una interfaz de usuario. Uno de estos se inicia al iniciarse cuando el dispositivo está en modo de encabezado. Todas las aplicaciones en primer plano se registran en el dispositivo y el usuario puede cambiar entre aplicaciones en primer plano durante la operación del dispositivo.

  • Las aplicaciones en segundo plano no tienen ninguna interfaz de usuario y, por tanto, guardan los recursos del dispositivo desactivando la pila de interfaz de usuario. Las aplicaciones en segundo plano a menudo se ejecutan continuamente desde el inicio y a menudo se usan para supervisar el dispositivo.

Cambio entre aplicaciones con una aplicación principal

En este momento, la aplicación de inicio le permite crear una aplicación principal para Windows 10 IoT Core, lo que le permite cambiar entre diferentes aplicaciones en primer plano.

La aplicación de inicio de IoT (ejemplo representa una aplicación de inicio simple que enumera las aplicaciones instaladas en el dispositivo y, a continuación, inicia una mediante las API packageManager.

Cambio entre aplicaciones con claves de inyección hid

Las instrucciones siguientes muestran cómo activar la compatibilidad con teclas de acceso rápido a través de entradas en el registro. Si va a crear su propia imagen y desea admitir las siguientes teclas de acceso rápido (Inicio, aplicación anterior y siguiente) sin necesidad de acceder al registro, puede incluir un paquete de características opcional que controle estos pasos.

Se llama al paquete de características que se va a buscar: Microsoft-OneCore-IoTUAP-Shell-HotKeys-Feature-Package.cab y se llama a la característica IOT_SHELL_HOTKEY_SUPPORT. Consulte el paquete de ejemplo Settings.HotKey para obtener un ejemplo.

En el resto de este documento se explica cómo implementar esta característica manualmente.

Volver a casa

Con la actualización de aniversario de IoT de Windows 10 (1607), ioT Shell admite la puesta en primer plano de la ventana de la aplicación predeterminada cuando otra aplicación se ejecuta presionando la tecla "GO HOME", que se establece en la versión del botón de Windows en un teclado. Si no tiene un teclado en el dispositivo IoT y necesita insertar eventos de teclado de bajo nivel a través de la inyección HID, o si solo desea volver a asignar la funcionalidad "GO HOME" a otra clave de la aplicación, puede ajustar el valor de clave en el Registro. Por ejemplo, para habilitar la pulsación de la tecla ESCAPE (0x1B) en "GO HOME", escriba el siguiente comando en el Registro:

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

Como archivo REG, este aspecto es el siguiente:

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

Cambiar entre aplicaciones

Como alternativa, si desea cambiar entre las aplicaciones en primer plano, puede configurar Alt-Tab (siguiente aplicación) y la funcionalidad Mayús-Alt-Tab (aplicación anterior) en la imagen escribiendo el siguiente comando en el Registro:

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

Como archivo REG, este aspecto es el siguiente: [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

Traducción de bits

Las entradas del archivo REG anteriores descodifican de izquierda a derecha de la siguiente manera:

  • Bits 0-15: código de clave virtual (es decir, 1B,00 para ESCAPE). Consulte Código de clave virtual para obtener la lista completa de valores de código de clave.
  • Bits 16-19: tecla modificadora. 0x0 = Sin modificador, 0x1 = ALT, 0x2 = CTRL y 0x4 = MAYÚS. La combinación de claves agrega los valores juntos (es decir, ALT+MAYÚS es 0x5)
  • Bits 20-47: Reservado para uso futuro; debe ser 0
  • Bits 48-62: Acción
    • 0 = Inicio
    • 1 = Vista anterior (es posible que no funcione en futuras versiones)
    • 2 = Vista siguiente (es posible que no funcione en futuras versiones)
  • Bit 63: Reservado; debe ser 0