从metro应用程序关闭windows 8

从metro应用程序关闭windows 8,windows,windows-8,microsoft-metro,shutdown,Windows,Windows 8,Microsoft Metro,Shutdown,我正在为Windows 8开发metro应用程序。作为其功能的一部分,我需要从Metro应用程序启动Winodws 8的关闭。以下是问题: 1) 首先,我对这个主题进行了大量研究,发现System.Diagnostics.Process不适用于Metro应用程序。那么,还有别的办法吗 2) 即使我不能直接关机,有没有办法从Metro应用程序触发它 我更喜欢C语言的解决方案 谢谢。在Windows应用商店(又名Metro)应用程序中不可能这样做。这类应用程序的功能受到严格限制,不可能影响操作系统的

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

1) 首先,我对这个主题进行了大量研究,发现System.Diagnostics.Process不适用于Metro应用程序。那么,还有别的办法吗

2) 即使我不能直接关机,有没有办法从Metro应用程序触发它

我更喜欢C语言的解决方案


谢谢。

在Windows应用商店(又名Metro)应用程序中不可能这样做。这类应用程序的功能受到严格限制,不可能影响操作系统的工作方式或影响同一台机器上运行的其他进程

如果您使用托管语言编程,这些限制会因省略而强制执行。您希望使用的.NET framework类丢失了。如果你用C++语言编写程序,那么你可以尝试使用WiAPI来解决它。但这也不起作用,Windows应用商店应用程序在沙箱中运行,只会导致api调用失败。与Internet Explorer的受保护模式功能非常相似,安全模型名为“应用程序容器”。并且通过商店筛选程序强制执行,即使你确实在沙箱中发现了一个漏洞,你也无法让它通过验证程序,也无法让它在应用商店中发布


这里的关键点是,编写商店应用程序来重新启动机器是没有意义的。因为这样的应用程序不需要重新启动。

在Windows应用商店(又称Metro)应用程序中,这样做是不可能的。这类应用程序的功能受到严格限制,不可能影响操作系统的工作方式或影响同一台机器上运行的其他进程

如果您使用托管语言编程,这些限制会因省略而强制执行。您希望使用的.NET framework类丢失了。如果你用C++语言编写程序,那么你可以尝试使用WiAPI来解决它。但这也不起作用,Windows应用商店应用程序在沙箱中运行,只会导致api调用失败。与Internet Explorer的受保护模式功能非常相似,安全模型名为“应用程序容器”。并且通过商店筛选程序强制执行,即使你确实在沙箱中发现了一个漏洞,你也无法让它通过验证程序,也无法让它在应用商店中发布


这里的关键点是,编写商店应用程序来重新启动机器是没有意义的。因为这样的应用程序不需要重新启动。

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

关闭:

%windir%\System32\shutdown.exe /s /t 0
重新启动:

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

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

关闭:

%windir%\System32\shutdown.exe /s /t 0
重新启动:

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

我也做了一些研究,从我到目前为止读到的资料来看,我认为这个问题没有这样直接的解决办法。请找到下面的两个链接,它们将指导您[用C#关闭Windows 8]()。事实上,您可以通过编程让Windows应用商店应用程序自行关闭。实际上这很简单:只需抛出一个未捕获的异常。但是你不应该这样做。相关:我也做了一些关于它的研究,从我到目前为止读到的资料来看,我认为这个问题没有这样直接的解决办法。请找到下面的两个链接,它们将指导您[用C#关闭Windows 8]()。事实上,您可以通过编程让Windows应用商店应用程序自行关闭。实际上这很简单:只需抛出一个未捕获的异常。但是你不应该这样做。相关:如何在C#中执行上述命令?如何在C#中执行上述命令?有没有办法从Metro应用程序的C#code执行shell命令?有没有办法从Metro应用程序的C#code执行shell命令?