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 である必要があります