使用腳本調(diào)用系統(tǒng)的關(guān)機對話框?qū)崿F(xiàn)代碼
更新時間:2012年05月16日 20:54:06 作者:
以前有介紹如何使用命令行調(diào)用系統(tǒng)的關(guān)機對話框rundll32.exe shell32.dll #60,但是,上述方法會存在一問題,XP下無法正常使用該方法進行關(guān)機
以前有介紹如何使用命令行調(diào)用系統(tǒng)的關(guān)機對話框:
具體方法:開始/運行:
rundll32.exe shell32.dll #60
但是,上述方法會存在一問題,XP下無法正常使用該方法進行關(guān)機(感謝網(wǎng)友沐燁 發(fā)現(xiàn)該問題)。問題原因可能是:正常情況下,關(guān)機對話框是有explorer.exe調(diào)用,直接使用rundll32調(diào)用時無法觸發(fā)相關(guān)命令。
既然使用explorer.exe調(diào)用可以,我們可以嘗試使用腳本來實現(xiàn)。實現(xiàn)原理:
激活explorer.exe
按ALT+F4
編寫VBS腳本如下(將下述內(nèi)容另存為shutdown.vbs):
Dim objWMI,wsh
Dim colProcesses,objProcess
pid=0
set objWMI = GetObject( "winmgmts:{impersonationLevel=impersonate}//. /root/cimv2" )
set colProcesses = objWMI.ExecQuery( "SELECT * FROM Win32_Process" & _
" WHERE Name='explorer.exe'" )
for Each objProcess In colProcesses
pid = objProcess.ProcessId
Next
set wsh = WScript.CreateObject("WScript.Shell")
wsh.AppActivate pid
wsh.sendKeys "%{F4}"
上述腳本運行環(huán)境為:XP SP2
其他環(huán)境也可能正常工作,不過對于有多個explorer.exe進程的系統(tǒng),就可能不正常工作了,如開了遠程終端服務(wù)的多用戶環(huán)境下。
具體方法:開始/運行:
復(fù)制代碼 代碼如下:
rundll32.exe shell32.dll #60
但是,上述方法會存在一問題,XP下無法正常使用該方法進行關(guān)機(感謝網(wǎng)友沐燁 發(fā)現(xiàn)該問題)。問題原因可能是:正常情況下,關(guān)機對話框是有explorer.exe調(diào)用,直接使用rundll32調(diào)用時無法觸發(fā)相關(guān)命令。
既然使用explorer.exe調(diào)用可以,我們可以嘗試使用腳本來實現(xiàn)。實現(xiàn)原理:
激活explorer.exe
按ALT+F4
編寫VBS腳本如下(將下述內(nèi)容另存為shutdown.vbs):
復(fù)制代碼 代碼如下:
Dim objWMI,wsh
Dim colProcesses,objProcess
pid=0
set objWMI = GetObject( "winmgmts:{impersonationLevel=impersonate}//. /root/cimv2" )
set colProcesses = objWMI.ExecQuery( "SELECT * FROM Win32_Process" & _
" WHERE Name='explorer.exe'" )
for Each objProcess In colProcesses
pid = objProcess.ProcessId
Next
set wsh = WScript.CreateObject("WScript.Shell")
wsh.AppActivate pid
wsh.sendKeys "%{F4}"
上述腳本運行環(huán)境為:XP SP2
其他環(huán)境也可能正常工作,不過對于有多個explorer.exe進程的系統(tǒng),就可能不正常工作了,如開了遠程終端服務(wù)的多用戶環(huán)境下。
相關(guān)文章
VBScript版的PHP extract()函數(shù)
這篇文章主要介紹了VBScript版的PHP extract()函數(shù),extract函數(shù)主要作用是把數(shù)組轉(zhuǎn)換成變量,非常好用的一個函數(shù),需要的朋友可以參考下2014-06-06
監(jiān)測windows主機網(wǎng)絡(luò)接口利用率的vbs代碼
這篇文章主要介紹了監(jiān)測windows主機網(wǎng)絡(luò)接口利用率的vbs代碼,不用任何軟件沒有安全隱患,學(xué)習(xí)vbs的朋友可以參考一下2019-10-10
VBS教程:VBScript 基礎(chǔ)-VBScript 運算符
VBS教程:VBScript 基礎(chǔ)-VBScript 運算符...2006-11-11
VBS教程:函數(shù)-StrReverse 函數(shù)
VBS教程:函數(shù)-StrReverse 函數(shù)...2006-11-11

