从metro应用程序关闭Windows 8

时间:2012-09-30 05:13:41

标签: windows windows-8 microsoft-metro shutdown

我正在为Windows 8做一个Metro应用程序。作为其功能的一部分,我需要从Metro App启动关闭Winodws 8。以下是问题:

1)首先,我对这个主题进行了很多研究,发现System.Diagnostics.Process不适用于Metro App。那么,还有另一种方法吗?

2)即使我无法直接关机,有没有办法从Metro App触发它?

我更喜欢C#中的解决方案。

感谢。

2 个答案:

答案 0 :(得分:6)

在Windows应用商店(也称为Metro)应用中无法执行此操作。这些应用程序严格限制在可以执行的操作中,不会影响操作系统的工作方式或影响在同一台计算机上运行的其他进程。

如果您使用托管语言进行编程,则省略会强制执行这些限制。您希望使用的.NET框架类缺失。如果您使用C ++这样的本地语言编程,那么您可以尝试使用winapi来解决它。但这也不起作用,Windows应用商店应用程序在沙箱中运行,该沙箱只是无法通过api调用。与Internet Explorer的保护模式功能非常相似,安全模型名为“App Container”。并且通过商店筛选程序强制执行,即使您确实在沙盒中发现了一个漏洞,也无法通过验证器将其发布到应用商店中。

这里的关键点是,编写商店应用程序来重启机器是没有意义的。因为没有任何类似可以执行的应用需要重新启动。

答案 1 :(得分:-2)

要关闭或重新启动Windows 8,只需执行以下命令:

关机:

%windir%\System32\shutdown.exe /s /t 0

重新启动:

%windir%\System32\shutdown.exe /r /t 0