关闭PowerState S4

时间:2014-02-27 21:53:27

标签: c# wpf windows-8.1 shutdown power-state

我需要从我的WPF应用程序关闭,并确保机器进入与使用传统Windows关闭对话框相同的电源状态。

我可以使用以下方法关闭到未知电源状态:

Process.Start("shutdown", "/s /t 0");

问题在于使用此关机过程,当按下电源按钮启动备份时,psu消耗的电流小于100毫安(通常在80到85之间),而使用对话框后绘制的约为300毫安。关机。

使用Shutdown对话框关闭,默认情况下在Windows 8中,根据System Power States enumeration是S4。

我想关闭到相同的S4状态,而不强迫用户进行其他操作,单击“确定”关闭对话框等等。

注意:

我可以通过运行以下VBScript来调用对话框,但是不想采用这种方式:

拨打

Process.Start(@"C:\PathToScript\Shutdown.vbs");

VB脚本

dim objShell
set objShell = CreateObject("shell.application")
objshell.ShutdownWindows
set objShell = nothing

1 个答案:

答案 0 :(得分:0)

我发现这是因为新的Windows 8功能称为“混合关机”。它比hybernate更接近于实际关闭。值得庆幸的是,shutdown命令接受/ hybrid进入此模式,模仿Windows 8对话框关闭。

Process.Start("shutdown", "/s /f /hybrid /t 0");

注意: 重新启动将回收内核。 “关闭”并没有真正关闭,也不会。更多关于他们的快速启动逻辑here.