C# 是否从UWP应用程序重新启动windows平板电脑?

C# 是否从UWP应用程序重新启动windows平板电脑?,c#,.net,uwp,uwp-xaml,windowsiot,C#,.net,Uwp,Uwp Xaml,Windowsiot,我有一个UWP应用程序,在平板电脑的窗口10中以kiosk模式运行。我想从我的应用程序重新启动平板电脑。我安装的UWP SDK版本是-10.0.18362.0。所以我在清单中添加了: <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/ma

我有一个UWP应用程序,在平板电脑的窗口10中以kiosk模式运行。我想从我的应用程序重新启动平板电脑。我安装的UWP SDK版本是-10.0.18362.0。所以我在清单中添加了:

<Package
 xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
 xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
 xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
 xmlns:iot="http://schemas.microsoft.com/appx/manifest/iot/windows10"
 IgnorableNamespaces="uap mp iot">

  <Capabilities>
     <Capability Name="internetClient" />
     <!-- Add the capability here -->
     <iot:Capability Name="systemManagement" />
     <DeviceCapability Name="wifiControl" />
     <DeviceCapability Name="bluetooth" />
我得到了一个错误:

System.UnauthorizedAccessException-(来自HRESULT的异常:0x80070005(E_ACCESSDENIED))

这是我的分机:

我在那里找不到Windows IoT扩展。也许这就是原因?如何以编程方式重新启动平板电脑


UPD:我安装了带有IoT扩展的SDK,并添加了参考。它没有帮助。恐怕您的平板电脑不支持您想要实现的此操作。此API仅支持Windows物联网设备。它适用于带有Windows IOT系统的设备。

也许我应该使用
system.Diagnostics.Process.Start()。如果要重新启动系统,可能还需要提升。UWP应用程序是沙盒式的,您不能直接通过Process.Start()启动其他进程。你可以试着用它来实现它。然后UWP应用程序可以调用托管在不同进程中的Win32 API。请参阅,然后将新的ProcessStartInfo(“shutdown”、“/s/t 0”)替换为新的ProcessStartInfo(“shutdown”、“/r/t 0”),以实现重新启动。
    private async void OnClick(object sender, RoutedEventArgs e)
    {
        await Dispatcher.RunAsync(CoreDispatcherPriority.High, () =>
        {
            ShutdownManager.BeginShutdown(ShutdownKind.Restart, TimeSpan.FromSeconds(3));
        });
    }