用vbs實(shí)現(xiàn)的瞬間關(guān)閉多個(gè)系統(tǒng)進(jìn)程的腳本
程序試驗(yàn)環(huán)境為 windows xp_sp2,主要針對(duì)系統(tǒng)存在多個(gè)需要中斷進(jìn)程的情況下,瞬間成批中斷進(jìn)程。
'----------------------------------------------------------------------------------
On Error Resume next
Set fs=CreateObject("scripting.filesystemobject")
Set os=CreateObject("wscript.shell")
Set os0=createobject("shell.application")
Set d0=CreateObject("scripting.dictionary")
Set wmi=GetObject("winmgmts:\\.")
Set pro_s=wmi.instancesof("win32_process")
'-------------創(chuàng)建臨時(shí)文本文件文件,把當(dāng)前進(jìn)程輸入該文本文件之中并通過記事本打開之
'---------同時(shí)把進(jìn)程對(duì)應(yīng)序號(hào) 和 pid 傳遞給dictionary(d0)一份
filename=fs.GetTempName
set f1=fs.CreateTextFile(filename,True)
msg="序號(hào)"&vbTab&"名稱"&vbTab&"PID"&vbTab&"程序文件"&vbtab&now&Chr(10)
f1.Writeline(msg)
n=1
For Each p In pro_s
f1.WriteLine(n&". "&p.name&" , "&p.handle&" , "&p.commandline&Chr(10))
d0.Add ""&n,Trim(p.handle)
n=n+1
Next
f1.Close
os0.MinimizeAll
os.Exec "notepad.exe "&filename
wscript.sleep 500
'--------------等待用戶輸入欲中斷的進(jìn)程相關(guān)的序號(hào)列,確定之后關(guān)閉并刪除臨時(shí)文本文件
x=InputBox("請(qǐng)根據(jù)"&filename&"中的內(nèi)容"+Chr(10)+ _
"選擇需要同時(shí)中斷的進(jìn)程對(duì)應(yīng)序號(hào):"+Chr(10)+ _
"(序號(hào)之間用','間隔 例如:'1,3,5,7,11')","選擇")
os.AppActivate filename&" - 記事本"
os.SendKeys "%fx"
WScript.Sleep 500
fs.DeleteFile filename
'--------如果用戶取消了操作,就退出程序
If x="" then wscript.quit
'--------把用戶輸入的序號(hào)列中相關(guān)的序號(hào)傳遞給一個(gè)數(shù)組 xs
xs=Split(x,",",-1,1)
'-----------對(duì)用戶輸入的序號(hào)列進(jìn)行校對(duì),將重復(fù)序號(hào)標(biāo)記為 -2,計(jì)算實(shí)際序號(hào)個(gè)數(shù)
For i=0 to ubound(xs) '---利用雙重循環(huán)將重復(fù)輸入的內(nèi)容保留一份,其他的標(biāo)記為-1
for n=0 to ubound(xs)
if n=i then
n=n+1
if n>ubound(xs) then exit for
end if
if Trim(xs(n))=Trim(xs(i)) Or _
Trim(xs(n))="" Then
xs(n)="-1"
end If
next
Next
w=0 '----把不真實(shí)可用的序號(hào)剔除并計(jì)算出其個(gè)數(shù)
For i=0 To UBound(xs)
If d0.Exists(xs(i))=False Then
xs(i)="-2"
w=w+1
End If
Next
w=(UBound(xs)+1-w) '---得出可用的序號(hào)個(gè)數(shù)
'------------如果序列中沒有輸入任何序號(hào)就退出程序
If w=0 Then
MsgBox "需要中斷的進(jìn)程列表為空!"
WScript.Quit
End If
'-------------根據(jù)用戶輸入信息中斷相應(yīng)進(jìn)程
m=0
For i=0 To UBound(xs)
If xs(i) <> "-2" then '---只有真實(shí)可用的序號(hào)才參與循環(huán)
For Each p In pro_s
If Trim(p.handle)=trim(d0(xs(i))) Then '---如果進(jìn)程pid號(hào)碼正是需要中斷的就嘗試中斷
p_name=p.name
pd=p.terminate()
If pd=0 Then '---判斷中斷進(jìn)程的嘗試是否成功
msg=p_name&" 進(jìn)程中斷成功!"
m=m+1
Else
msg=p_name&" 進(jìn)程中斷失敗!"
End If
os.popup msg,1,"通知",64+0
End If
Next
end if
Next
os.popup w&"個(gè)目標(biāo)進(jìn)程,已經(jīng)中斷了"&m&"個(gè)" ,5,"通知",64+0
WScript.quit
上一篇:VBS調(diào)用WMI快速關(guān)閉IE的腳本
欄 目:vb
下一篇:vbs判讀盤符被雙擊的腳本
本文標(biāo)題:用vbs實(shí)現(xiàn)的瞬間關(guān)閉多個(gè)系統(tǒng)進(jìn)程的腳本
本文地址:http://mengdiqiu.com.cn/a1/vb/7664.html
您可能感興趣的文章
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10VBS中的正則表達(dá)式的用法大全 <font color=red>原創(chuàng)&
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10VBScript教程 第十一課深入VBScript
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript語法速查及實(shí)例說明
- 01-10VBS中Select CASE的其它用法
- 01-10VBScript教程 第七課使用條件語句
- 01-10vbscript 可以按引用傳遞參數(shù)嗎?
- 01-10VBScript教程 第二課在HTML頁面中添加VBscript代碼


閱讀排行
- 1C語言 while語句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹的示例代碼(圣誕
- 3利用C語言實(shí)現(xiàn)“百馬百擔(dān)”問題方法
- 4C語言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10飄葉千夫指源代碼,又稱qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個(gè)高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語法速查及實(shí)例說明
隨機(jī)閱讀
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-10delphi制作wav文件的方法
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10C#中split用法實(shí)例總結(jié)
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 04-02jquery與jsp,用jquery
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置