【问题标题】:shutdown windows 8 from metro app从 Metro 应用程序关闭 Windows 8
【发布时间】:2012-10-01 05:17:52
【问题描述】:

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

1) 首先,我对该主题进行了大量研究,发现 System.Diagnostics.Process 不适用于 Metro App。那么,有没有别的办法呢?

2) 即使不能直接关机,有没有办法从 Metro App 触发?

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

谢谢。

【问题讨论】:

标签: windows windows-8 microsoft-metro shutdown


【解决方案1】:

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

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

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

【讨论】:

  • 有没有办法从 Metro App 的 C# 代码执行 shell 命令?
【解决方案2】:

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

关机:

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

重启:

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

【讨论】:

  • 如何在C#中执行以上的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 2014-07-05
  • 1970-01-01
  • 1970-01-01
  • 2013-04-03
  • 1970-01-01
相关资源
最近更新 更多