我需要从我的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
答案 0 :(得分:0)
我发现这是因为新的Windows 8功能称为“混合关机”。它比hybernate更接近于实际关闭。值得庆幸的是,shutdown命令接受/ hybrid进入此模式,模仿Windows 8对话框关闭。
Process.Start("shutdown", "/s /f /hybrid /t 0");
注意: 重新启动将回收内核。 “关闭”并没有真正关闭,也不会。更多关于他们的快速启动逻辑here.