top
Loading...
在VisualBasic中終止Windows9X
在Visual Basic程序中,可以使用Windows API函數來重新啟動計算機系統,文本介紹如何退出Windows 9X并關閉計算機系統。

一、關閉計算機系統

可以使用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來運行上述樣例程序,單擊命令按鈕,即可重新啟動計算機系統。

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗