このページの本文へ

前へ 1 2 次へ

Windows Info第69回

WindowsでURLのプロトコルでUWPアプリを起動する

2016年08月27日 12時00分更新

文● 塩田紳二 編集● ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 前回に引き続き、WindowsのURLのプロトコル処理について解説していく。プロトコル起動では、UWPやストアアプリの起動が可能になる。以下、表記が面倒なのでUWPと略すが、スキーマ名などに違いがある場合を除き、多くがWindows 8やストアアプリにも対応できる。

 UWPアプリでは、開発時に起動のためのスキーマを指定できる(指定しなければならないわけではない)。指定しておくと、該当のスキーマを使った起動が可能になる。ただし、スキーマは、レジストリにプロトコルとして登録されている必要があるが、通常は、アプリがインストール時に登録を行なう。

 どのアプリがどのプロトコルを使うのかは、コントロールパネルの「既定のプログラム」から表示させることができる(前回を参照のこと)。また、レジストリに以下の形式で登録されているピリオドから始まらないキーは、プロトコルの登録である(以下プロトコルキーと呼ぶ)。

HKEY_CLASSES_ROOT直下のキー
キー名がピリオドから始まらない
キーに「URL Protocol」という名前の文字列値がある
(データが指定されている必要はない)

 プロトコルキーは、キー名自体がスキーマとなる。また、コントロールパネルなどに表示される文字列は、キーの既定値が使われる。UWPアプリ側がプロトコルを指定しているため、ファイルの関連付けのようにProgIDなどでプロトコルとアプリの関連を定義する必要はない。

 しかし、ファイルの関連付けと同様にShellサブキーなどを使ってデスクトップアプリと対応付けすることは可能だ。このやり方は、拡張子と既定のプログラムと同じやりかたで、前々回までの話の繰り返しになるのでここでは説明しない。

標準アプリを起動するプロトコル

 Windowsストアなど標準搭載のUWPアプリの一部に関しては、プロトコル起動について詳細な情報が公開されている。具体的には「Windowsストア」「マップ」「設定」「People」などだ。

アプリ プロトコル起動の説明ページURL
マップ https://msdn.microsoft.com/ja-jp/windows/uwp/launch-resume/launch-maps-app
設定 https://msdn.microsoft.com/ja-jp/windows/uwp/launch-resume/launch-settings-app
People https://msdn.microsoft.com/ja-jp/windows/uwp/launch-resume/launch-people-apps
Windowsストア https://msdn.microsoft.com/ja-jp/windows/uwp/launch-resume/launch-store-app

 たとえば、設定アプリでは、カテゴリ項目や個々の設定ページなどを開く方法がドキュメントに記載されている。

「設定」アプリでは、プロトコル起動のときに、コロン以下にカテゴリや設定項目名を書いて直接起動させることも可能

 単純に設定ページを開くなら

start ms-settings:

でできる。ロック画面(設定→パーソナル設定→ロック画面)ならば、

start ms-settings:lockscreen

を使うか、ロック画面設定を直接指定するプロトコル

start ms-settings-lock:

で起動できる。なお、Windows10のドキュメントでは、前者のほうのみ記載されているが、レジストリには、後者のプロトコルも定義されている。

 Windowsストアの場合、検索なども可能だ。コマンドプロンプトからはstartコマンドのあとに以下のURIを置けば、ストアでの検索が可能だ。

Windowsストアは、URIで検索などを行なわせることもできる

ms-windows-store://search/?query=OneNote

このほか、拡張子やプロトコルなどで検索することも可能で、

ms-windows-store://assoc/?Protocol=mailto

とすると、mailtoプロトコルに対応したアプリを捜すことができる。こうしたURIをショートカットにいれておけば、特定の条件でアプリを検索するショートカットを作成可能だ。

 すべての標準搭載アプリがプロトコル起動をサポートしているわけではない。プロトコル起動や関連付けによる起動をサポートしていない代わりに、汎用的な情報アクセスのためのAPIをWindowsが用意しているものもある。たとえば、カレンダーやアドレス帳に関しては、APIが用意されるためプロトコル起動はサポートされていない。

 このほか、マイクロソフトは、オフィスアプリのプロトコル起動に関しての文書も公開している(https://msdn.microsoft.com/en-us/library/office/dn906146%28v=office.15%29.aspx?f=255&MSPPError=-2147217396

前へ 1 2 次へ

この連載の記事

注目ニュース

ASCII倶楽部

最新記事

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン