В настоящее время я ищу способ программно запустить современное (uwp) приложение в контейнере приложения, используя доступные API Win32.
Я не хочу запускать приложение по протоколу «: // приложение».
Вместо этого я хочу сам создать контейнер приложения, а затем загрузить внутри него приложение UWP, чтобы иметь доступ ко всей памяти и т. Д.
Возможно ли это, и если да, то как?
Не уверен, что это поможет, но это то, что вы ищете?
Этот ответ и сообщение в блоге находятся на 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 запуска. Существует также способ извлечения данных из другого приложения с помощью служб приложений.