在Visual Basic程式中,可以使用Windows API函數來重新啟動電腦
系統,文本介紹如何退出Windows 95並關閉電腦系統。
# 關閉電腦系統
可以使用Windows API的ExitWindowsEx函數來從Visual Basic程式中
重新啟動電腦系統。要使用該函數,需要將如下聲明語句包含在表單的
通常聲明部分中:
Private Declare Function ExitWindowsEx Lib "user32" (ByVal
uFlags As Long, ByVal dwReserved As Long) As Long
ExitWindowsEx 函數需要2個參數,可以使用一個或多個下面的標識
的組合來告訴ExitWindowsEx函數希望進行關機過程。
EWX_FORCE所有的進程都被強制終止。
EWX_LOGOFF所有的進程被強制終止,並且使用者退出登入(logged off)。
EWX_POWEROFF電腦系統被關機,並且如果支援節電特性,則電腦被物理關機。
EWX_REBOOT電腦系統被關機並重新啟動。
EWX_SHUTDOWN電腦被物理地安全地關機。
下面的範例程式中使用了上面的三個標識的組合。該標識組合
(EWX_LOGOFF,EWX_FORCE, 以及EWX_REBOOT)告訴Windows95退出所有正
在執行的進程,使使用者退出網路登入,使電腦系統處於準備狀態以供用
戶關機。
# 範例程式
該範例程式顯示了如何關閉電腦系統。
1.在Visual Basic中開始一個新的項目,採用預設的方法建立Form1。
2.將如下常量和聲明語句添加到Form1的通常聲明部分中(注意該聲
明語句需要書寫在一行內):
Private Declare Function ExitWindowsEx Lib "user32" (ByVal
uFlags As Long, ByVal dwReserved As Long) As Long
Const EWX_LOGOFF = 0
Const EWX_SHUTDOWN = 1
Const EWX_REBOOT = 2
Const EWX_FORCE = 4
Const EWX_POWEROFF = 8
Const EWX_RESET = EWX_LOGOFF + EWX_FORCE + EWX_REBOOT
3.在Form1上添加一個命令按鈕控制項,採用預設的方法建立Comand1。
將它的Caption屬性設定為“重新啟動電腦”。
4.將如下代碼添加到Command1的單擊事件中:
Private Sub Command1_Click()
Dim X As Long
X = ExitWindowsEx(EWX_RESET, dwReserved)
End Sub
按下F5來運行上述範例程式,單擊命令按鈕,即可重新啟動電腦系統。