Windows 10 在windows 10 uwp上通过代码重新启动

Windows 10 在windows 10 uwp上通过代码重新启动,windows-10,uwp,system.diagnostics,Windows 10,Uwp,System.diagnostics,我们已经创建了一个Windows 10应用程序,它在Windows 10 kiosk模式下的平板电脑上运行。它工作得很好,但是,由于位置非常偏远,wifi连接有时会丢失。我们试图从网络方面解决这个问题,但是当设备失去并重新获得互联网访问时,应用程序仍然会挂起,就好像它没有互联网访问显示空白页面一样。在使用这些装置的地方,它们用螺栓固定在墙上以防止盗窃。这意味着如果我们想重新启动它非常耗时,因为我们必须从墙上拧下机箱,然后打开机箱以访问电源按钮,而让应用程序再次成功运行的唯一方法是在设备上重新启动

我们已经创建了一个Windows 10应用程序,它在Windows 10 kiosk模式下的平板电脑上运行。它工作得很好,但是,由于位置非常偏远,wifi连接有时会丢失。我们试图从网络方面解决这个问题,但是当设备失去并重新获得互联网访问时,应用程序仍然会挂起,就好像它没有互联网访问显示空白页面一样。在使用这些装置的地方,它们用螺栓固定在墙上以防止盗窃。这意味着如果我们想重新启动它非常耗时,因为我们必须从墙上拧下机箱,然后打开机箱以访问电源按钮,而让应用程序再次成功运行的唯一方法是在设备上重新启动

有人建议我们有一种从应用程序执行重新启动的方法,但是,我尝试过的每个代码示例在Windows10UWP中都不起作用。以下是我发现的最常见的一个:

System.Diagnostics.Process.Start("restart", "/r");
我有权访问名称空间

System.Diagnostics
但是进程类不存在。有人建议通过Win 10 UWP上的代码重新启动吗?还是更好地解决我们的问题?提前谢谢


还值得一提的是,我也尝试执行Powershell命令,我需要为Powershell类引用的dll与UWP不兼容。

UWP应用程序可用的API无法满足您的要求。这是一个安全决定。通过商店分发的应用程序不应该能够执行重启机器之类的操作

根据你的情况,虽然你不需要去商店。这意味着您可以使用PInvoke本地代码来执行任何您想要的操作。这仍然需要在实际设备上启动。

是的,您可以这样做! 您应添加物联网系统管理应用程序内功能声明:

<Capabilities><iot:Capability Name="systemManagement"/></Capabilities>
或用于重新启动

Windows.System.ShutdownManager.BeginShutdown(Windows.System.ShutdownKind.Restart, TimeSpan.FromSeconds(1));     //Delay before restart after shutdown

您可以在此

中获得更多信息,这是不可能的。我建议寻找使重新启动成为必要的第一手资料的bug,或使用非UWP应用程序。寻找除重新启动Win 10沙盒可能允许的其他解决方案,例如,可能需要修复电源循环飞行模式,或以某种方式触发网络连接以清除,然后,也许你可以对这些选项进行编码。谢谢你们的回复,我会研究你的建议。你是对的,我正在侧载应用程序,而不是将其发布到应用商店。谢谢你的帮助!侧加载是否允许调用否则会受到限制的API?我的理解是,侧加载仅模拟Windows应用商店部署,因此我假设将受到相同的安全限制。不是这样吗?@devios如果侧向加载,它不会通过商店的检查来确保你没有使用不应该使用的东西。物联网扩展仅适用于windows物联网设备
Windows.System.ShutdownManager.BeginShutdown(Windows.System.ShutdownKind.Restart, TimeSpan.FromSeconds(1));     //Delay before restart after shutdown