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

首頁 > 編程 > VBScript > 正文

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

2020-07-26 11:49:35
字體:
來源:轉載
供稿:網友
以前有介紹如何使用命令行調用系統的關機對話框:
具體方法:開始/運行:
復制代碼 代碼如下:

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進程的系統,就可能不正常工作了,如開了遠程終端服務的多用戶環境下。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵璧县| 福清市| 会东县| 菏泽市| 赤城县| 平乡县| 宝应县| 安泽县| 桐梓县| 昌乐县| 平遥县| 饶平县| 波密县| 久治县| 巴彦淖尔市| 郎溪县| 达州市| 称多县| 常宁市| 绵竹市| 青州市| 眉山市| 兴城市| 山东| 枣阳市| 瓮安县| 昆明市| 高要市| 呼和浩特市| 乌拉特后旗| 安顺市| 峡江县| 炉霍县| 昌平区| 疏勒县| 汕头市| 连山| 永定县| 临城县| 永川市| 克东县|