2011-01-10 78 views
1

我用下面的代碼來關閉系統,但它會執行註銷窗口關機功能進行註銷窗口,同時使用Windows API

Private Const EWX_LogOff = 0 
Private Const EWX_SHUTDOWN = 1 
Private Const EWX_REBOOT = 2 
Private Const EWX_FORCE = 4 

Public Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long 

Public Sub ShutDownComputer() 
    Call ExitWindowsEx(EWX_FORCE, &HFFFFFFFF) 
End Sub 

回答

1

嘗試以武力相結合關機。

+0

而這樣做的原因是FORCE是一個標誌,其他的常量指定關機操作(你也許可以將SHUTDOWN和POWEROFF結合起來,否則你應該只指定其中一個「操作」) – Anders 2011-01-10 15:28:16

0

除了什麼尤金說,它能夠更好地使用聲明從pinvoke

Declare Function ExitWindowsEx Lib "user32" (ByVal dwOptions As Int32, ByVal dwReserved As Int32) As Int32 

其宣稱的參數作爲兩個四字節整數(如DLL ExitWindowsEx函數)。