2014-02-27 30 views
0

我需要關閉我的WPF應用程序,並確保機器進入與使用傳統Windows關機對話框相同的電源狀態。關閉PowerState S4

我可以關閉一個未知的功率狀態通過使用以下:

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

的問題是,使用這種關機過程,啓動備份通過按下電源按鈕時,PSU平小於100毫安(通常在80到85之間),而不是在使用對話框關閉之後繪製的〜300毫安。

根據System Power States enumeration,使用Shutdown對話框關閉,默認情況下在Windows 8中是S4。

我想關機,以同樣的S4狀態,不強迫用戶進行其他操作,點擊「確定」關閉對話框的,等

注:

我可以調用對話框,通過運行下面的VBScript,但寧願不走這條路:

呼叫

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

VB腳本

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

回答

0

我發現,這是由於所謂的「混合關機」一個新的Windows 8功能。它比真正的關機更接近衛浴。謝天謝地,shutdown命令接受/ hybrid進入這個模式,模仿Windows 8對話框關閉。

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

注意: 重新啓動將回收內核。 「關機」並不真正關閉,也不會。更多關於他們的快速啓動邏輯here.