在VisualBasic程序中,可以使用WindowsAPI函數(shù)來(lái)重新啟動(dòng)計(jì)算機(jī)系統(tǒng),文本介紹如何退出Windows并關(guān)閉計(jì)算機(jī)系統(tǒng)。
關(guān)閉計(jì)算機(jī)系統(tǒng)
可以使用WindowsAPI的ExitWindowsEx函數(shù)來(lái)從VisualBasic程序中重新啟動(dòng)計(jì)算機(jī)系統(tǒng)。要使用該函數(shù),需要將如下聲明語(yǔ)句包含在窗體的通常聲明部分中:
PrivateDeclareFunctionExitWindowsExLib"user32"(ByValuFlagsAsLong,ByValdwReservedAsLong)AsLong
ExitWindowsEx函數(shù)需要2個(gè)參數(shù),可以使用一個(gè)或多個(gè)下面的標(biāo)識(shí)的組合來(lái)告訴ExitWindowsEx函數(shù)希望進(jìn)行關(guān)機(jī)過(guò)程。
EWX_FORCE所有的進(jìn)程都被強(qiáng)制終止。
EWX_LOGOFF所有的進(jìn)程被強(qiáng)制終止,并且用戶退出登錄(loggedoff)。
EWX_POWEROFF計(jì)算機(jī)系統(tǒng)被關(guān)機(jī),并且如果支持節(jié)電特性,則計(jì)算機(jī)被物理關(guān)機(jī)。
EWX_REBOOT計(jì)算機(jī)系統(tǒng)被關(guān)機(jī)并重新啟動(dòng)。
EWX_SHUTDOWN計(jì)算機(jī)被物理地安全地關(guān)機(jī)。
下面的樣例程序中使用了上面的三個(gè)標(biāo)識(shí)的組合。該標(biāo)識(shí)組合(EWX_LOGOFF,EWX_FORCE,以及EWX_REBOOT)告訴Windows退出所有正在執(zhí)行的進(jìn)程,使用戶退出網(wǎng)絡(luò)登錄,使計(jì)算機(jī)系統(tǒng)處于準(zhǔn)備狀態(tài)以供用戶關(guān)機(jī)。
樣例程序
該樣例程序顯示了如何關(guān)閉計(jì)算機(jī)系統(tǒng)。
1.在VisualBasic中開(kāi)始一個(gè)新的項(xiàng)目,采用缺省的方法建立Form1。
2.將如下常量和聲明語(yǔ)句添加到Form1的通常聲明部分中(注意該聲明語(yǔ)句需要書寫在一行內(nèi)):
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上添加一個(gè)命令按鈕控件,采用缺省的方法建立Comand1。將它的Caption屬性設(shè)置為“重新啟動(dòng)計(jì)算機(jī)”。
4.將如下代碼添加到Command1的單擊事件中:
PrivateSubCommand1_Click()
DimXAsLong
X=ExitWindowsEx(EWX_RESET,dwReserved)
EndSub
按下F5來(lái)運(yùn)行上述樣例程序,單擊命令按鈕,即可重新啟動(dòng)計(jì)算機(jī)系統(tǒng)??荚嚧缶庉嬚?BR>
關(guān)閉計(jì)算機(jī)系統(tǒng)
可以使用WindowsAPI的ExitWindowsEx函數(shù)來(lái)從VisualBasic程序中重新啟動(dòng)計(jì)算機(jī)系統(tǒng)。要使用該函數(shù),需要將如下聲明語(yǔ)句包含在窗體的通常聲明部分中:
PrivateDeclareFunctionExitWindowsExLib"user32"(ByValuFlagsAsLong,ByValdwReservedAsLong)AsLong
ExitWindowsEx函數(shù)需要2個(gè)參數(shù),可以使用一個(gè)或多個(gè)下面的標(biāo)識(shí)的組合來(lái)告訴ExitWindowsEx函數(shù)希望進(jìn)行關(guān)機(jī)過(guò)程。
EWX_FORCE所有的進(jìn)程都被強(qiáng)制終止。
EWX_LOGOFF所有的進(jìn)程被強(qiáng)制終止,并且用戶退出登錄(loggedoff)。
EWX_POWEROFF計(jì)算機(jī)系統(tǒng)被關(guān)機(jī),并且如果支持節(jié)電特性,則計(jì)算機(jī)被物理關(guān)機(jī)。
EWX_REBOOT計(jì)算機(jī)系統(tǒng)被關(guān)機(jī)并重新啟動(dòng)。
EWX_SHUTDOWN計(jì)算機(jī)被物理地安全地關(guān)機(jī)。
下面的樣例程序中使用了上面的三個(gè)標(biāo)識(shí)的組合。該標(biāo)識(shí)組合(EWX_LOGOFF,EWX_FORCE,以及EWX_REBOOT)告訴Windows退出所有正在執(zhí)行的進(jìn)程,使用戶退出網(wǎng)絡(luò)登錄,使計(jì)算機(jī)系統(tǒng)處于準(zhǔn)備狀態(tài)以供用戶關(guān)機(jī)。
樣例程序
該樣例程序顯示了如何關(guān)閉計(jì)算機(jī)系統(tǒng)。
1.在VisualBasic中開(kāi)始一個(gè)新的項(xiàng)目,采用缺省的方法建立Form1。
2.將如下常量和聲明語(yǔ)句添加到Form1的通常聲明部分中(注意該聲明語(yǔ)句需要書寫在一行內(nèi)):
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上添加一個(gè)命令按鈕控件,采用缺省的方法建立Comand1。將它的Caption屬性設(shè)置為“重新啟動(dòng)計(jì)算機(jī)”。
4.將如下代碼添加到Command1的單擊事件中:
PrivateSubCommand1_Click()
DimXAsLong
X=ExitWindowsEx(EWX_RESET,dwReserved)
EndSub
按下F5來(lái)運(yùn)行上述樣例程序,單擊命令按鈕,即可重新啟動(dòng)計(jì)算機(jī)系統(tǒng)??荚嚧缶庉嬚?BR>