C# uwp 启动应用程序

use*_*349 5 c# launching-application windows-store-apps uwp

使用下面的代码:

await Windows.System.Launcher.LaunchUriAsync(new Uri(@"ms-windows-store://review/?ProductId=9wzdncrfj2wl"));
Run Code Online (Sandbox Code Playgroud)

我正在 Microsoft Store 中打开 Facebook 应用程序。该页面上有一个启动按钮。用户用它来运行应用程序。

如何使用应用程序的产品 ID 运行该应用程序?

我设法使用以下代码打开应用程序:

await Windows.System.Launcher.LaunchUriAsync(new Uri("fb:post?text=foo"));
Run Code Online (Sandbox Code Playgroud)

但我想用ID打开它。

我找到了这段代码,但它不起作用:

await Windows.System.Launcher.LaunchUriAsync(new Uri(@"ms-windows-store://pdp/?ProductId=9wzdncrfj2wl"));
Run Code Online (Sandbox Code Playgroud)

如何使用ID打开已安装的应用程序?或者,如果有另一种方法来检查应用程序是否已安装,如果安装了则启动它,如果没有则将其显示在商店中,以便用户可以手动安装。我正在开发的应用程序是Windows 10 UWP...

我遇到的情况是没有应用程序的 URI,所以我必须通过它的 ProductID 或 ProductFamily 打开它...

因此,这是打开该应用程序的快捷方式的目标: C:\Windows\explorer.exe shell:AppsFolder\A88BB54F.N1info_gvc78jvcn5cg0!App

我是否有机会在 UWP 应用程序中使用它来启动应用程序?

有人从 Windows 应用商店中的“启动”按钮获得链接吗?因此,我会将其放入 URI 中,就像 GET 按钮中的链接一样:

ms-windows-store:PDP?PFN=A88BB54F.N1info_gvc78jvcn5cg0&referrer=unistoreweb&webig=39694073-f9af-436f-a82b-abb9d9f644f0&muid=097C7AA3CA2C6EE22D237359CE2C689A&websession=c9916902dd014ec2b5a9e0390a28c26d
Run Code Online (Sandbox Code Playgroud)

我这样使用它:

await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store:PDP?PFN=A88BB54F.N1info_gvc78jvcn5cg0&referrer=unistoreweb&webig=39694073-f9af-436f-a82b-abb9d9f644f0&muid=097C7AA3CA2C6EE22D237359CE2C689A&websession=c9916902dd014ec2b5a9e0390a28c26d"));
Run Code Online (Sandbox Code Playgroud)

它正在商店中显示应用程序。

谢谢。

Rom*_*asz 1

如果您想从另一个应用程序启动一个应用程序,则目标应用程序必须已注册 URI 激活并处理这种情况。有关更多信息,您可以在 MSDN 上阅读

商店中的许多应用程序都注册了 URI 方案,互联网上有一些列表,例如这个,但我不确定它是否真实以及哪些应用程序可与 UWP 配合使用。