Uniform Resource Identifier (URI) の既定のアプリを起動する方法について説明します。 URI を使用すると、別のアプリを起動して特定のタスクを実行できます。 このトピックでは、Windows に組み込まれている多くの URI スキームの概要についても説明します。 カスタム URI も起動できます。 カスタム URI スキームの登録と URI アクティブ化の処理の詳細については、「URI アクティブ化の 処理」を参照してください。
URI スキームを使用すると、ハイパーリンクをクリックしてアプリを開きます。 mailto: を使用して新しいメールを開始できるのと同様に、http: または https: を使用して既定の Web ブラウザーを開くことができます。
このトピックでは、Windows に組み込まれている次の URI スキームについて説明します。
URI スキーム | 起動 |
---|---|
http: と https: | 既定の Web ブラウザー |
mailto: | 既定の電子メール アプリ |
microsoft-edge の : | Microsoft Edge ブラウザー |
ms-chat の : | メッセージング アプリ |
ms-people: | People アプリ |
ms-photos の : | フォト アプリ |
ms-clicktodo: | クリックして実行機能 (リコールの一部) |
「ms-settings」の : | 設定アプリ |
ms-store の : | ストアアプリ |
msnweather: | 天気アプリ |
たとえば、次の URI は既定のブラウザーを開き、Microsoft Bing Web サイトを表示します: https://bing.com/
。
カスタム URI スキームを起動することもできます。 その URI を処理するアプリがインストールされていない場合は、ユーザーがインストールするアプリを推奨できます。 詳細については、「 URI を処理できない場合のアプリの推奨」を参照してください。
一般に、アプリは起動されたアプリを選択できません。 ユーザーは、起動するアプリを決定します。 同じ URI スキームを処理するために、複数のアプリを登録できます。 これに対する例外は、予約済み URI スキームの場合です。 予約済み URI スキームの登録は無視されます。 予約済み URI スキームの完全な一覧については、「 URI のアクティブ化の処理」を参照してください。 複数のアプリが同じ URI スキームを登録している可能性がある場合、アプリは特定のアプリの起動を推奨できます。 詳細については、「 URI を処理できない場合のアプリの推奨」を参照してください。
重要な API
このトピックでは、次の Windows ランタイム (WinRT) API を使用します。
多くの WinRT API は、パッケージ ID を持つ他のデスクトップ アプリと連携します。 いくつかの例外があり、そのほとんどは UI のレンダリングまたは入力に固有の API に関連しています。 TreatAsUntrusted などの LauncherOptions の一部は、UWP アプリでのみ機能します。 デスクトップ アプリで WinRT API を使用できるようにする方法の詳細については、 デスクトップ アプリでの Windows ランタイム API の呼び出しに関する記事を参照してください。
LaunchUriAsync を呼び出して URI を起動する
LaunchUriAsync メソッドを使用して URI を起動します。 このメソッドを呼び出すときは、アプリがフォアグラウンド アプリである必要があります。つまり、ユーザーに表示されている必要があります。 この要件は、ユーザーが制御を維持するのに役立ちます。 この要件を満たすために、すべての URI 起動をアプリの UI に直接関連付ける必要があります。 ユーザーは常に何らかのアクションを実行して URI の起動を開始する必要があります。 UWP アプリで URI を起動しようとして、アプリがフォアグラウンドにない場合、起動は失敗し、エラー コールバックが呼び出されます。
まず、URI を表す System.Uri オブジェクトを作成し、それを LaunchUriAsync メソッドに渡します。 次の例に示すように、戻り値の結果を使用して、呼び出しが成功したかどうかを確認します。
private async void launchURI_Click(object sender, RoutedEventArgs e)
{
// The URI to launch
var bingUri = new Uri(@"https://www.bing.com");
// Launch the URI
var success = await Windows.System.Launcher.LaunchUriAsync(bingUri);
if (success)
{
// URI launched
}
else
{
// URI launch failed
}
}
場合によっては、オペレーティング システムによって、実際にアプリを切り替えたいかどうかを確認するメッセージが表示されます。
Von Bedeutung
このプロンプトは、UWP アプリでのみサポートされます。 Windows がデスクトップ アプリに対してこのプロンプトを表示しようとすると、起動は失敗します。
アプリが UWP アプリであり、常にこのプロンプトを表示する場合は、 Windows.System.LauncherOptions.TreatAsUntrusted プロパティを使用して、オペレーティング システムに警告を表示するように指示します。
// The URI to launch
var uriBing = new Uri(@"http://www.bing.com");
// Set the option to show a warning
var promptOptions = new Windows.System.LauncherOptions
{
TreatAsUntrusted = true
};
// Launch the URI
var success = await Windows.System.Launcher.LaunchUriAsync(uriBing, promptOptions);
URI を処理できない場合はアプリを推奨する
場合によっては、起動する URI を処理するアプリがユーザーにインストールされていない場合があります。 既定では、オペレーティング システムは、ストアで適切なアプリを検索するためのリンクをユーザーに提供することで、このようなケースを処理します。 このシナリオで取得するアプリの特定の推奨事項をユーザーに提供する場合は、その推奨事項を起動する URI と共に渡すことで行うことができます。
推奨事項は、URI スキームを処理するために複数のアプリが登録されている場合にも役立ちます。 特定のアプリを推奨することで、Windows はそのアプリが既にインストールされている場合に開きます。
推奨事項を作成するには、LauncherOptions.preferredApplicationPackageFamilyName を推奨するストア内のアプリのパッケージ ファミリ名に設定して、Windows.System.Launcher.LaunchUriAsync(Uri, LauncherOptions) メソッドを呼び出します。 オペレーティング システムでは、この情報を使用して、ストア内のアプリを検索する一般的なオプションを、ストアから推奨アプリを取得するための特定のオプションに置き換えます。
// Set the recommended app
var options = new Windows.System.LauncherOptions
{
PreferredApplicationPackageFamilyName = "Contoso.URIApp_8wknc82po1e",
PreferredApplicationDisplayName = "Contoso URI App"
};
// Launch the URI and pass in the recommended app
// in case the user has no apps installed to handle the URI
var success = await Windows.System.Launcher.LaunchUriAsync(uriContoso, options);
残りのビューの基本設定を設定する
Von Bedeutung
この機能は、UWP アプリでのみ使用できます。 デスクトップ アプリで使用する場合、プロパティは無視されます。
LaunchUriAsync を呼び出すソース アプリは、URI の起動後も画面に残ることを要求できます。 既定では、Windows は、ソース アプリと URI を処理するターゲット アプリの間で、使用可能なすべての領域を均等に共有しようとします。 ソースアプリでは、DesiredRemainingView プロパティ を使用して、使用可能な領域をより多くまたは少なく占めるようにアプリウィンドウが好ましいことをオペレーティングシステムに示すことができます。 DesiredRemainingView を使用して、URI の起動後にソース アプリを画面に残す必要がないため、ターゲット アプリに完全に置き換えることができることを示すこともできます。 このプロパティは、呼び出し元アプリの優先ウィンドウ サイズのみを指定します。 同時に画面に表示される可能性がある他のアプリの動作は指定されません。
注
Windows では、ソース アプリの最終的なウィンドウ サイズ (ソース アプリの基本設定、画面上のアプリの数、画面の向きなど) を決定するときに、複数の異なる要因が考慮されます。 DesiredRemainingView を設定することで、ソース アプリの特定のウィンドウ動作は保証されません。
// Set the desired remaining view.
var options = new Windows.System.LauncherOptions
{
DesiredRemainingView = Windows.UI.ViewManagement.ViewSizePreference.UseLess
};
// Launch the URI
var success = await Windows.System.Launcher.LaunchUriAsync(uriContoso, options);
URI スキーム
このセクションでは、さまざまな URI スキームについて説明します。
電子メール URI スキーム
既定のメール アプリを起動するには、 mailto: URI スキームを使用します。
URI スキーム | 結果 |
---|---|
mailto: |
既定の電子メール アプリを起動します。 |
mailto:\[email address\] |
電子メール アプリを起動し、[宛先] 行に指定したメール アドレスを含む新しいメッセージを作成します。 ユーザーが [送信] をタップするまで、メールは送信されないことに注意してください。 |
HTTP URI スキーム
http: URI スキームを使用して、既定の Web ブラウザーを起動します。
URI スキーム | 結果 |
---|---|
http: または https: |
既定の Web ブラウザーを起動します。 |
アプリの URI スキームをマップする
Von Bedeutung
Windows Maps アプリは非推奨となり、2025 年 7 月までに Microsoft Store から削除されます。 現時点では、ストアからアプリを非機能にする最終的な更新もあります。 2025 年 7 月より前にアプリを削除した場合でもストアから再インストールできますが、2025 年 7 月を過ぎると再インストールできません。
詳細については、「 非推奨の機能のリソース - マップ アプリ」を参照してください。
特定のマップ、ルート案内、検索結果に Windows マップ アプリを起動するには、 bingmaps:、 ms-drive-to:、 ms-walk-to: URI スキームを使用します。 たとえば、次の URI は Windows Maps アプリを開き、ニューヨーク市の中央にマップを表示します。
bingmaps:?cp=40.726966~-74.006076
UWP アプリでマップ コントロールを使用するには、「 2D、3D、および Streetside ビューでマップを表示する」を参照してください。 WinUI アプリまたはその他のデスクトップ アプリで Windows App SDK 1.5 以降を使用している場合は、 MapControl を使用できます。
メッセージング アプリの URI スキーム
ms-chat: URI スキームを使用して、Microsoft Messaging アプリを起動します。
URI スキーム | 結果 |
---|---|
ms-chat: |
メッセージング アプリを起動します。 |
ms-chat:?ContactID={contacted} |
特定の連絡先の情報を使用してメッセージング アプリケーションを起動できるようにします。 |
ms-chat:?Body={body} |
メッセージの内容として使用する文字列を使用してメッセージング アプリケーションを起動できるようにします。 |
ms-chat:?Addresses={address}&Body={body} |
特定のアドレスの情報と、メッセージの内容として使用する文字列を使用して、メッセージング アプリケーションを起動できるようにします。 注: アドレスは連結できます。 |
ms-chat:?TransportId={transportId} |
メッセージング アプリケーションを特定のトランスポート ID で起動できるようにします。 |
People アプリの URI スキーム
ms-people: URI スキームを使用して、People アプリを起動します。 詳細については、「People アプリを起動する」を参照してください。
Von Bedeutung
People アプリが新しい Outlook に移行します。 連絡先アプリのツール バーで [ 連絡先のエクスポート ] を選択し、新しい Outlook に連絡先をインポートすることで、連絡先を移動できます。 詳細については、「 新しい Outlook for Windows (プレビュー) を使用して連絡先を管理し、ユーザーと接続 する」を参照してください。
フォト アプリの URI スキーム
ms-photos: URI スキームを使用してフォト アプリを起動し、画像を表示したり、ビデオを編集したりします。 例えば次が挙げられます。
オペレーション | URI(統一リソース識別子) |
---|---|
画像を表示する | ms-photos:viewer?fileName=c:\users\userName\Pictures\image.jpg |
ビデオを編集する | ms-photos:videoedit?InputToken=123abc&Action=Trim&StartTime=01:02:03 |
注
UWP アプリからフォト アプリを起動する場合、ビデオを編集したり、画像を表示したりする URI はデスクトップでのみ使用できます。
次の表に、フォト アプリでサポートされているその他の URI スキームを示します。
URI スキーム | 結果 |
---|---|
ms-photos:viewer?fileName={filename} |
フォト アプリを起動して、{filename} が完全修飾パス名である指定されたイメージを表示します。 例: c:\users\userName\Pictures\ImageToView.jpg |
ms-photos:videoedit?InputToken={input token} |
ファイル トークンによって表されるファイルのビデオ編集モードでフォト アプリを起動します。 InputToken が必要です。 SharedStorageAccessManager を使用して、ファイルのトークンを取得します。 |
ms-photos:videoedit?Action={action} |
フォト アプリを開くビデオ編集モードを示すパラメーター。{action} は SlowMotion、 FrameExtraction、 Trim、 View、 Ink のいずれかです。 アクション が必要です。 |
ms-photos:videoedit?StartTime={timespan} |
ビデオの再生を開始する場所を指定する省略可能なパラメーター。
{timespan} は、 "hh:mm:ss.ffff" の形式である必要があります。 指定しない場合、デフォルトは00:00:00.0000 となります。 |
設定アプリの URI スキーム
たとえば、次の URI は設定アプリを開き、カメラのプライバシー設定を表示します。
ms-settings:privacy-webcam
詳細については、「 Windows 設定アプリの起動 」と「 セキュリティと ID」を参照してください。
ストア アプリの URI スキーム
ms-windows-store: URI スキームを使用して、Microsoft Store アプリを起動します。 製品詳細ページ、製品レビュー ページ、検索ページなどを開きます。たとえば、次の URI は Microsoft Store アプリを開き、ストアのホーム ページを起動します。
ms-windows-store://home/
詳細については、「 ms-windows-store URI の使用」を参照してください。
天気アプリの URI スキーム
msnweather: URI スキームを使用して Weather アプリを起動します。
URI スキーム | 結果 |
---|---|
msnweather://forecast?la=\[latitude\]&lo=\[longitude\] |
場所の地理的座標に基づいて、[予測] ページで Weather アプリを起動します。latitude は、場所の緯度を指します。longitude は、場所の経度を指します。 |
Microsoft Edge URI スキーム
microsoft-edge: URI スキームを使用して、指定した URL に対して Microsoft Edge ブラウザーを起動します。
URI スキーム | 結果 |
---|---|
microsoft-edge:https://example.com/ |
Microsoft Edge ブラウザーを開き、 https://example.com/ に移動します。 |
この URI スキームを使用すると、ユーザーの既定のブラウザー設定に関係なく、Microsoft Edge ブラウザーを起動できます。
関連コンテンツ
URI アクティブ化 を処理する
Windows developer