如何在应用程序容器中启动应用程序?

时间:2015-08-04 13:57:38

标签: c++ winapi windows-10 uwp

我目前正在寻找一种使用可用的Win32 API以编程方式在app容器内启动现代(uwp)应用程序的方法。

我不想通过协议':// app'启动应用。

相反,我想自己创建应用容器,然后在其中加载UWP应用以访问所有内存等。

这是可能的,如果是这样的话?

1 个答案:

答案 0 :(得分:-3)

不确定这是否有帮助,但这是您要找的? 这个答案和博客文章都在C#中。 http://blogs.windows.com/buildingapps/2015/09/22/using-cross-app-communication-to-make-apps-work-together-10-by-10/

要从一个应用程序深层链接到另一个应用程序,您需要在要导航到的应用程序的Package.appxmanifest中添加协议声明。

从容器应用程序中,您可以使用以下命令启动实现协议的应用程序:

Uri uri = new Uri("your-protocol-name");
await Launcher.LaunchUriAsync(uri);

如果您要启动特定应用,则必须添加注册应用时获得的唯一应用名称:

var options = new LauncherOptions();
options.TargetApplicationPackageFamilyName = "12345.your.app";
Uri uri = new Uri("com.contoso.showproduct:?ProductId=3748937");
await Launcher.LaunchUriAsync(uri, options);

您可以在启动Uri中使用查询参数将数据传递到新应用。还有一种方法可以使用App Services从其他应用程序检索数据。