IoT シェルの概要

このドキュメントでは、IoT シェル、フォアグラウンドおよびバックグラウンドのアプリケーション、およびデバイス上でこれらのアプリケーション間を移動する方法について説明します。

IoT シェル、フォアグラウンド アプリ、バックグラウンド アプリ

IoT シェルは、IoT Core デバイスで実行されます。 これには多くの役割がありますが、主な仕事は登録されているスタートアップ アプリの起動を確認することです。 これには、ヘッド付きモードとヘッドレス モードという、2 つのモードがあります。 ヘッド付きモードでは、登録済みの 1 つのスタートアップ アプリが IoT シェルによって起動されると、その UI がフル スクリーンで表示されます (ヘッド付きアプリとも呼ばれます)。 ヘッド付きモードでは、ディスプレイが接続されていることを前提に、UI が表示されます。 ヘッドレス モード (詳細についてはこちら) の場合、UI は存在せず、IoT シェルではバックグラウンド アプリケーションのみが起動されます。

フォアグラウンドとバックグラウンドのアプリケーションの主な違いは以下のとおりです。

  • フォアグラウンド アプリケーションには UI があります。 デバイスがヘッド付きモードの場合、起動時にその内の 1 つが起動します。 すべてのフォアグラウンド アプリはデバイスに登録されており、ユーザーはデバイスの操作中にフォアグラウンド アプリを切り替えることができます。

  • バックグラウンド アプリケーションは UI を持たないため、UI スタックをオフにすることでデバイスのリソースを節約できます。 バックグラウンド アプリケーションは、起動時から継続して実行されることが多く、よくデバイスの監視に使われます。

ホーム アプリを使用してアプリを切り替える

現時点では、スタートアップ アプリを使用すると、Windows 10 IoT Core のホーム アプリを作成して、異なるフォアグラウンド アプリケーションを切り替えることができます。

IoT スタートアップ アプリ (サンプル) は、デバイスにインストールされているアプリを一覧表示し、PackageManager API を使用してその 1 つを起動するシンプルなスタートアップ アプリを表しています。

HID 入力キーを使用してアプリを切り替える

以下の説明では、レジストリへのエントリを通じてホットキーのサポートをオンにする方法を示します。 独自のイメージを構築しており、レジストリにアクセスせずに以下のホットキー (ホーム、前のアプリ、次のアプリ) に対応させたい場合は、これらの手順を処理するオプションの機能パッケージを含めることができます。

検索する機能パッケージは Microsoft-OneCore-IoTUAP-Shell-HotKeys-Feature-Package.cab と呼ばれ、機能は IOT_SHELL_HOTKEY_SUPPORT と呼ばれています。 例については、Settings.HotKey サンプル パッケージを参照してください。

このドキュメントの残りの部分では、この機能を手動で実装する方法について説明します。

ホームに戻る

Windows 10 IoT Anniversary Update (1607) の IoT シェルでは、キーボードの Windows ボタンのリリースに設定されている「ホームに戻る」キーを押すことで、他のアプリケーションの実行中に、既定のアプリケーション ウィンドウを最前面に表示することがサポートされています。 IoT デバイスにキーボードがなく、HID 入力で低レベルのキーボード イベントを入力する必要がある場合や、「ホームに戻る」機能をアプリケーションの別のキーに再マップしたい場合は、レジストリでキーの値を調整することができます。 例えば、ESCAPE キー (0x1B) を押した場合に「ホームに戻る」が有効になるように変更するには、レジストリに以下のコマンドを入力します。

“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: 仮想キー コード (Escape の場合は 1B,00)。 キー コード値の完全な一覧については、仮想キー コードに関するページを参照してください
  • ビット 16 ~ 19: 修飾子キー。 0x0 = 修飾子なし、0x1 = Alt、0x2 = Ctrl、および 0x4 = Shift。 キーを組み合わせると、値が加算されます (つまり、Alt+Shift の場合は 0x5)
  • ビット 20 ~ 47: 将来の使用のために予約済み。0 である必要があります
  • ビット 48 ~ 62: アクション
    • 0 = ホーム
    • 1 = 前のビュー (今後のリリースでは機能しない可能性があります)
    • 2 = 次のビュー (今後のリリースでは機能しない可能性があります)
  • ビット 63: 予約済み。0 である必要があります