關閉計算機系統
可以使用WindowsAPI的ExitWindowsEx函數來從VisualBasic程序中重新啟動計算機系統。要使用該函數,需要將如下聲明語句包含在窗體的通常聲明部分中:
PRivateDeclareFunctionExitWindowsExLib"user32"(ByValuFlagsAsLong,ByValdwReservedAsLong)AsLong
ExitWindowsEx函數需要2個參數,可以使用一個或多個下面的標識的組合來告訴ExitWindowsEx函數希望進行關機過程。
EWX_FORCE所有的進程都被強制終止。
EWX_LOGOFF所有的進程被強制終止,并且用戶退出登錄(loggedoff)。
EWX_POWEROFF計算機系統被關機,并且如果支持節電特性,則計算機被物理關機。
EWX_REBOOT計算機系統被關機并重新啟動。
EWX_SHUTDOWN計算機被物理地安全地關機。
下面的樣例程序中使用了上面的三個標識的組合。該標識組合(EWX_LOGOFF,EWX_FORCE,以及EWX_REBOOT)告訴Windows退出所有正在執行的進程,使用戶退出網絡登錄,使計算機系統處于準備狀態以供用戶關機。
樣例程序
該樣例程序顯示了如何關閉計算機系統。
1.在VisualBasic中開始一個新的項目,采用缺省的方法建立Form1。
2.將如下常量和聲明語句添加到Form1的通常聲明部分中(注意該聲明語句需要書寫在一行內):
PrivateDeclareFunctionExitWindowsExLib"user32"
(ByValuFlagsAsLong,ByValdwReservedAsLong)AsLong
ConstEWX_LOGOFF=0
ConstEWX_SHUTDOWN=1
ConstEWX_REBOOT=2
ConstEWX_FORCE=4
ConstEWX_POWEROFF=8
ConstEWX_RESET=EWX_LOGOFF EWX_FORCE EWX_REBOOT
3.在Form1上添加一個命令按鈕控件,采用缺省的方法建立Comand1。將它的Caption屬性設置為“重新啟動計算機”。
4.將如下代碼添加到Command1的單擊事件中:
PrivateSubCommand1_Click()
DimXAsLong
X=ExitWindowsEx(EWX_RESET,dwReserved)
EndSub
按下F5來運行上述樣例程序,單擊命令按鈕,即可重新啟動計算機系統。
->
|
新聞熱點
疑難解答