共用方式為


啟動 URI 的預設 Windows 應用程式

瞭解如何針對統一資源識別碼 (URI) 啟動預設應用程式。 URI 可讓您啟動另一個應用程式來執行特定工作。 本主題也提供 Windows 內建的許多 URI 配置概觀。 您也可以啟動自訂 URI。 如需註冊自訂 URI 配置及處理 URI 啟用的詳細資訊,請參閱 處理 URI 啟用

URI 配置可讓您按兩下超連結來開啟應用程式。 就像您可以使用 mailto:來啟動新電子郵件一樣,您可以使用 HTTP:HTTPs:開啟預設網頁瀏覽器。

本主題描述 Windows 內建的下列 URI 配置:

URI 協議 發射
HTTP: 和 https: 默認網頁瀏覽器
mailto: 預設電子郵件應用程式
microsoft-edge: Microsoft Edge 瀏覽器
ms-chat: 傳訊應用程式
ms-people: 聯絡人應用程式
ms-photos: 相片應用程式
ms-clicktodo: 點擊執行功能(屬於召回的一部分)
ms-settings: Windows 設定
ms-store: 商店應用程式
msnweather: 天氣應用程式

例如,下列 URI 會開啟預設瀏覽器,並顯示 Microsoft Bing 網站:https://bing.com/

您也可以啟動自訂 URI 配置。 如果未安裝任何應用程式來處理該 URI,您可以建議使用者安裝應用程式。 如需詳細資訊,請參閱 如果無法處理 URI,請參閱建議應用程式。

一般而言,您的應用程式無法選取已啟動的應用程式。 用戶決定要啟動哪個應用程式。 多個應用程式可以註冊以處理相同的 URI 配置。 這是保留 URI 方案的例外狀況。 保留的 URI 協議註冊會被忽略。 如需已保留的 URI 標準方案完整清單,請參閱 處理 URI 啟用。 如果有多個應用程式可能已註冊相同的 URI 配置,您的應用程式可以建議啟動特定的應用程式。 如需詳細資訊,請參閱 如果無法處理 URI,請參閱建議應用程式。

重要 API

本主題使用下列 Windows "執行階段" (WinRT) API:

請注意,許多 WinRT API 會與其他具有套件身分識別的桌面應用程式搭配使用。 有一些例外狀況,其中大部分都與UI轉譯或輸入專屬的API相關。 某些 LauncherOptions,例如 TreatAsUntrusted,只能在 UWP 應用程式中運作。 若要深入瞭解如何讓您的傳統型應用程式使用 WinRT API,請參閱 在傳統型應用程式中呼叫 Windows 執行時間 API

呼叫 LaunchUriAsync 以啟動 URI

使用 LaunchUriAsync 方法來啟動 URI。 當您呼叫此方法時,您的應用程式必須是前景應用程式,也就是用戶必須可以看到它。 這項需求有助於確保使用者保持控制狀態。 若要符合這項需求,請務必將所有 URI 啟動直接系結至應用程式的 UI。 用戶必須一律採取一些動作來起始 URI 啟動。 在 UWP 應用程式中,如果您嘗試啟動 URI,但您的應用程式不在前景中,啟動將會失敗,且會觸發錯誤回呼。

首先建立 System.Uri 物件來代表 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
   }
}

在某些情況下,操作系統會提示使用者查看他們是否真的想要切換應用程式。

應用程式背景呈現灰色的警告對話框螢幕快照。對話框會詢問使用者是否要切換應用程式,並在右下角有 [是] 和 [否] 按鈕。醒目提示 [否] 按鈕。

這很重要

只有 UWP 應用程式才支援此提示。 如果 Windows 嘗試針對傳統型應用程式顯示此提示,啟動將會失敗。

如果您的 app 是 UWP app,而且您一律希望出現這個提示,請使用 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);

設定剩餘檢視喜好設定

這很重要

此功能僅適用於UWP app。 在桌面應用程式中使用時,將會忽略屬性。

呼叫 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 配置來啟動預設網頁瀏覽器。

URI 協議 結果
http:https: 啟動預設網頁瀏覽器。

地圖應用程式的 URI 組態方案

這很重要

Windows 地圖服務應用程式已被取代,將於 2025 年 7 月前從 Microsoft 市集移除。 此時,也會從市集對應用程式進行最終更新,使其變成非功能性。 如果您在 2025 年 7 月之前移除應用程式,您仍然可以從市集重新安裝它,但在 2025 年 7 月之後,您將無法重新安裝它。

如需詳細資訊,請參閱已 淘汰功能的資源 - 地圖應用程式

使用 bingmaps:ms-drive-to:ms-walk-to: URI 配置,將 Windows 地圖應用程式啟動至特定地圖、方向和搜尋結果。 例如,下列 URI 會開啟 Windows 地圖應用程式,並顯示以紐約市為中心的地圖。

bingmaps:?cp=40.726966~-74.006076

Windows 地圖應用程式的螢幕快照。

若要在 UWP 應用程式中使用地圖控件,請參閱 使用 2D、3D 和 Streetside 檢視來顯示地圖。 如果您在 WinUI 應用程式或其他傳統型應用程式中使用 Windows App SDK 1.5 或更新版本,您可以使用 MapControl

傳訊應用程式 URI 協定

使用 ms-chat: URI 配置來啟動Microsoft傳訊應用程式。

URI 架構 結果
ms-chat: 啟動傳訊應用程式。
ms-chat:?ContactID={contacted} 允許使用特定聯繫人的資訊啟動傳訊應用程式。
ms-chat:?Body={body} 允許傳訊應用程式使用字串作為訊息內容來啟動。
ms-chat:?Addresses={address}&Body={body} 允許以特定地址的信息啟動傳訊應用程式,並使用字串作為訊息的內容。 注意:位址可以相連接。
ms-chat:?TransportId={transportId} 允許以特定傳輸標識碼啟動傳訊應用程式。

人員應用程式 URI 協定

使用 ms-people: URI 配置來啟動 People 應用程式。 如需詳細資訊,請參閱 開啟人員應用程式

這很重要

People 應用程式正在移至新的 Outlook。 您可以選取 [人員] 應用程式工具列上的 [匯出聯繫人 ],然後將聯繫人匯入新的 Outlook,以帶您連絡。 如需詳細資訊,請參閱管理您的聯繫人,並透過新的 Windows 版 Outlook 與人員連線(預覽版)。

相片應用程式 URI 架構

使用 ms-photos: URI 配置啟動 Photos 應用程式來檢視影像或編輯視訊。 例如:

行動 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} 啟動 Photos 應用程式,以檢視指定的影像,其中 {filename} 是完整路徑名稱。 例如:c:\users\userName\Pictures\ImageToView.jpg
ms-photos:videoedit?InputToken={input token} 針對檔案令牌所代表的檔案,以視訊編輯模式啟動 Photos 應用程式。 需要 InputToken。 使用 SharedStorageAccessManager 來取得檔案的令牌。
ms-photos:videoedit?Action={action} 參數,指出開啟相片應用程式的視訊編輯模式,其中 {action} 是下列其中一個:SlowMotionFrameExtractionTrimViewInk。 需要 動作
ms-photos:videoedit?StartTime={timespan} 選擇性參數,指定開始播放影片的位置。 {timespan} 格式必須是 "hh:mm:ss.ffff"。 如果未指定,則預設為 00:00:00.0000

設定 URI 方案

使用 ms-settings: URI 配置來 啟動 Windows 設置。 啟動 Windows 設定是編寫隱私感知應用程式的重要組成部分。 如果您的應用程式無法存取敏感性資源,建議您為使用者提供該資源的隱私權設定便利連結。

例如,下列 URI 會開啟 [設定],並顯示相機隱私權設定:

ms-settings:privacy-webcam

Windows 相機隱私權設定的螢幕快照。

如需詳細資訊,請參閱 啟動 Windows 設定安全性和身分識別

商店應用 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\] 根據位置地理座標,在 [預測] 頁面中啟動天氣應用程式。
latitude 是指位置的緯度。
longitude 是指位置的經度。

Microsoft Edge URI 方案

使用 microsoft-edge URI 配置,將 Microsoft Edge 瀏覽器啟動至指定的 URL。

URI 協議 結果
microsoft-edge:https://example.com/ 開啟 Microsoft Edge 瀏覽器並流覽至 https://example.com/

不論使用者的預設瀏覽器設定為何,您可以使用此 URI 配置來啟動 Microsoft Edge 瀏覽器。

處理 URI 的啟用

啟動 Windows 設置