在VisualBasic程序中,可以使用WindowsAPI函數來重新啟動計算機系統,文本介紹如何退出Windows95並關閉計算機系統。
#關閉計算機系統
可以使用WindowsAPI的ExitWindowsEx函數來從VisualBasic程序中重新啟動計算機系統。要使用該函數,需要將如下聲明語句包含在窗體的通常聲明部分中:
PrivateDeclareFunctionExitWindowsExLib"user32"(ByVal
uFlagsAsLong,ByValdwReservedAsLong)AsLong
ExitWindowsEx函數需要2個參數,可以使用一個或多個下面的標識的組合來告訴ExitWindowsEx函數希望進行關機過程。
EWX_FORCE所有的進程都被強制終止。
EWX_LogoFF所有的進程被強制終止,並且用戶退出登錄(loggedoff)。
EWX_POWEROFF計算機系統被關機,並且如果支持節電特性,則計算機被物理關機。
EWX_REBOOT計算機系統被關機並重新啟動。
EWX_SHUTDOWN計算機被物理地安全地關機。
下面的樣例程序中使用了上面的三個標識的組合。該標識組合(EWX_LogoFF,EWX_FORCE,以及EWX_REBOOT)告訴Windows95退出所有正
在執行的進程,使用戶退出網絡登錄,使計算機系統處於准備狀態以供用戶關機。
#樣例程序
該樣例程序顯示了如何關閉計算機系統。
1.在VisualBasic中開始一個新的項目,采用缺省的方法建立Form1。
2.將如下常量和聲明語句添加到Form1的通常聲明部分中(注意該聲明語句需要書寫在一行內):
PrivateDeclareFunctionExitWindowsExLib"user32"(ByVal
uFlagsAsLong,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來運行上述樣例程序,單擊命令按鈕,即可重新啟動計算機系統。->