国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

使用腳本調用系統的關機對話框實現代碼

2020-06-26 18:30:52
字體:
來源:轉載
供稿:網友
以前有介紹如何使用命令行調用系統的關機對話框rundll32.exe shell32.dll #60,但是,上述方法會存在一問題,XP下無法正常使用該方法進行關機
 
以前有介紹如何使用命令行調用系統的關機對話框: 
具體方法:開始/運行: 
復制代碼代碼如下:

rundll32.exe shell32.dll #60 

但是,上述方法會存在一問題,XP下無法正常使用該方法進行關機(感謝網友沐燁 發現該問題)。問題原因可能是:正常情況下,關機對話框是有explorer.exe調用,直接使用rundll32調用時無法觸發相關命令。 

既然使用explorer.exe調用可以,我們可以嘗試使用腳本來實現。實現原理: 

激活explorer.exe 
按ALT+F4 
編寫VBS腳本如下(將下述內容另存為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}" 

上述腳本運行環境為:XP SP2 
其他環境也可能正常工作,不過對于有多個explorer.exe進程的系統,就可能不正常工作了,如開了遠程終端服務的多用戶環境下。
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 城固县| 栾城县| 罗平县| 黔西| 佛学| 武穴市| 施秉县| 建德市| 宜良县| 滁州市| 吴川市| 茂名市| 吉首市| 平顶山市| 洞口县| 滕州市| 嘉荫县| 北票市| 江北区| 通江县| 兴安县| 辛集市| 浦北县| 托里县| 神农架林区| 兰坪| 白河县| 金乡县| 宝应县| 六枝特区| 喀什市| 于田县| 贡觉县| 荆州市| 寻甸| 靖江市| 靖江市| 苏州市| 拉萨市| 乌鲁木齐县| 隆昌县|