C# 是否从UWP应用程序重新启动windows平板电脑?
我有一个UWP应用程序,在平板电脑的窗口10中以kiosk模式运行。我想从我的应用程序重新启动平板电脑。我安装的UWP SDK版本是-10.0.18362.0。所以我在清单中添加了: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
<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));
});
}