我目前正在寻找一种使用可用的Win32 API以编程方式在app容器内启动现代(uwp)应用程序的方法。
我不想通过协议':// app'启动应用。
相反,我想自己创建应用容器,然后在其中加载UWP应用以访问所有内存等。
这是可能的,如果是这样的话?
答案 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从其他应用程序检索数据。