我正在为Windows8开发Metro应用程序。作为其功能的一部分,我需要从metro应用程序启动winodws 8的关闭。以下是问题:
1)首先,我对这个话题进行了大量的研究,发现metro app没有system.diagnostics.process。那么,还有别的办法吗?
2)即使我不能直接关机,有没有办法从Metro应用程序触发?
我想要一个C_的解决方案。
谢谢。

最佳答案

在Windows应用商店(也称为Metro)中,这样做是不可能的。这些应用程序的功能受到严格限制,不可能影响操作系统的工作方式,也不可能影响在同一台计算机上运行的其他进程。
如果使用托管语言编程,则这些限制是通过省略来实施的。您希望使用的.NET框架类正在丢失。如果你用像C++这样的本地语言编程,那么你可以尝试使用WinAPI来解决这个问题。但这也不起作用,一个WindowsStore应用程序运行在一个沙盒中,这个沙盒只是未能通过API调用。与Internet Explorer的保护模式功能非常相似,安全模型被命名为“应用程序容器”。并通过应用商店筛选过程强制执行,即使您确实在沙盒中找到了一个洞,也无法使它通过验证程序,也无法在应用商店中发布。
这里的关键点是,写一个商店应用程序来重启机器是没有意义的。因为这样的应用程序不可能做任何需要重新启动的事情。

07-25 23:46
查看更多