通过 windows 10 uwp 上的代码重新启动
restart via code on windows 10 uwp
我们已经创建了一个 Windows 10 应用程序,它 运行 在 Windows 10 kiosk 模式的平板电脑上运行。它工作得很好,但是,由于位置非常偏远,wifi 连接有时会丢失。我们尝试从网络方面解决此问题,但当设备丢失并重新获得互联网访问权限时,应用程序仍会挂起,就好像它没有互联网访问权限一样显示空白页面。在使用这些设备的地方,它们用螺栓固定在墙上以防止盗窃。这意味着如果我们想要重新启动它非常耗时,因为我们必须从墙上拧下外壳,然后打开外壳才能使用电源按钮,这是让应用程序再次成功进入 运行 的唯一方法是在设备上重新启动。
有人建议我们可以通过应用程序执行重启,但是,我尝试过的每个代码示例在 Windows 10 UWP 中都不起作用。这是我发现的最常见的一种:
System.Diagnostics.Process.Start("restart", "/r");
我可以访问命名空间
System.Diagnostics
但进程 class 不存在。有人对在 Win 10 UWP 上通过代码重启有什么建议吗?或者更好地解决我们的问题?提前致谢。
还值得一提的是,我也尝试执行 Powershell 命令,但我需要为 Powershell class 引用的 dll 与 UWP 不兼容。
UWP 应用可用的 API 无法满足您的要求。这是一项安全决定。通过商店分发的应用程序不应该能够执行重启机器等操作。
根据您的情况,您应该不需要经过商店。这意味着您可以 PInvoke 本机代码来做任何您想做的事情。这仍然需要在实际设备上启动。
是的,你可以做到!
您应该在 App 功能声明中添加 IoT System Administration:
<Capabilities><iot:Capability Name="systemManagement"/></Capabilities>
并且您还需要将 "Windows UWP 物联网扩展" 添加到您的项目
将其用于关机
Windows.System.ShutdownManager.BeginShutdown(Windows.System.ShutdownKind.Shutdown, TimeSpan.FromSeconds(1)); //Delay is not relevant to shutdown
或 重启
Windows.System.ShutdownManager.BeginShutdown(Windows.System.ShutdownKind.Restart, TimeSpan.FromSeconds(1)); //Delay before restart after shutdown
您可以在此Link
中获取更多信息
我们已经创建了一个 Windows 10 应用程序,它 运行 在 Windows 10 kiosk 模式的平板电脑上运行。它工作得很好,但是,由于位置非常偏远,wifi 连接有时会丢失。我们尝试从网络方面解决此问题,但当设备丢失并重新获得互联网访问权限时,应用程序仍会挂起,就好像它没有互联网访问权限一样显示空白页面。在使用这些设备的地方,它们用螺栓固定在墙上以防止盗窃。这意味着如果我们想要重新启动它非常耗时,因为我们必须从墙上拧下外壳,然后打开外壳才能使用电源按钮,这是让应用程序再次成功进入 运行 的唯一方法是在设备上重新启动。
有人建议我们可以通过应用程序执行重启,但是,我尝试过的每个代码示例在 Windows 10 UWP 中都不起作用。这是我发现的最常见的一种:
System.Diagnostics.Process.Start("restart", "/r");
我可以访问命名空间
System.Diagnostics
但进程 class 不存在。有人对在 Win 10 UWP 上通过代码重启有什么建议吗?或者更好地解决我们的问题?提前致谢。
还值得一提的是,我也尝试执行 Powershell 命令,但我需要为 Powershell class 引用的 dll 与 UWP 不兼容。
UWP 应用可用的 API 无法满足您的要求。这是一项安全决定。通过商店分发的应用程序不应该能够执行重启机器等操作。
根据您的情况,您应该不需要经过商店。这意味着您可以 PInvoke 本机代码来做任何您想做的事情。这仍然需要在实际设备上启动。
是的,你可以做到! 您应该在 App 功能声明中添加 IoT System Administration:
<Capabilities><iot:Capability Name="systemManagement"/></Capabilities>
并且您还需要将 "Windows UWP 物联网扩展" 添加到您的项目
将其用于关机
Windows.System.ShutdownManager.BeginShutdown(Windows.System.ShutdownKind.Shutdown, TimeSpan.FromSeconds(1)); //Delay is not relevant to shutdown
或 重启
Windows.System.ShutdownManager.BeginShutdown(Windows.System.ShutdownKind.Restart, TimeSpan.FromSeconds(1)); //Delay before restart after shutdown
您可以在此Link
中获取更多信息