Я пытаюсь написать простое приложение с главным меню, в котором пользователь может нажать кнопку, а затем запустит приложение, которое уже установлено в Windows 10 IoT. (Это приложение "IoTCoreMediaPlayer" в качестве образца)
Вот мой код:
private void Button_Click(object sender, RoutedEventArgs e)
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @"C:\Data\USERS\DefaultAccount\AppData\Local\DevelopmentFiles\IoTCoreMediaPlayerVS.Debug_ARM.User\entrypoint\IoTCoreMediaPlayer.exe";
startInfo.Arguments = f;
Process.Start(startInfo);
}
Однако это не работает и дает мне следующую ошибку:
System.NotImplementedException: 'The method or operation is not implemented.'
под:
using Media_Center;
namespace System.Diagnostics
{
internal class Process
{
internal static void Start(string v)
{
throw new NotImplementedException();
}
internal static void Start(ProcessStartInfo startInfo)
{
throw new NotImplementedException(); <===
}
}
}
Может ли кто-нибудь сказать мне, что я делаю не так? Спасибо





Вы можете обратиться к этому образец, который демонстрирует, как запустить приложение UWP из другого приложения UWP. В этом примере вы найдете код операции:
private async void RunMainPage_Click(object sender, RoutedEventArgs e)
{
await LaunchAppAsync("test-launchmainpage://HostMainpage/Path1?param=This is param");
}
private async void RunPage1_Click(object sender, RoutedEventArgs e)
{
await LaunchAppAsync("test-launchpage1://Page1/Path1?param1=This is param1¶m1=This is param2");
}
private async Task LaunchAppAsync(string uriStr)
{
Uri uri = new Uri(uriStr);
var promptOptions = new Windows.System.LauncherOptions();
promptOptions.TreatAsUntrusted = false;
bool isSuccess = await Windows.System.Launcher.LaunchUriAsync(uri, promptOptions);
if (!isSuccess)
{
string msg = "Launch failed";
await new MessageDialog(msg).ShowAsync();
}
}
Уловка заключается в том, чтобы указать протокол Windows для приложения, которое вы хотите запустить, и указать это в URI LaunchApp.
Кроме того, если вы хотите запустить внешний процесс (exe), вы можете обратиться к этому примеру ExternalProcessLauncher.