用vbs实现的瞬间关闭多个系统进程的脚本
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
程序试验环境为windowsxp_sp2,主要针对系统存在多个需要中断进程的情况下,瞬间成批中断进程。 复制代码 代码如下: ''---------------------------------------------------------------------------------- OnErrorResumenext Setfs=CreateObject("scripting.filesystemobject") Setos=CreateObject("wscript.shell") Setos0=createobject("shell.application") Setd0=CreateObject("scripting.dictionary") Setwmi=GetObject("winmgmts:\\.") Setpro_s=wmi.instancesof("win32_process") ''-------------创建临时文本文件文件,把当前进程输入该文本文件之中并通过记事本打开之 ''---------同时把进程对应序号和pid传递给dictionary(d0)一份 filename=fs.GetTempName setf1=fs.CreateTextFile(filename,True) msg="序号"&vbTab&"名称"&vbTab&"PID"&vbTab&"程序文件"&vbtab&now&Chr(10) f1.Writeline(msg) n=1 ForEachpInpro_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.sleep500 ''--------------等待用户输入欲中断的进程相关的序号列,确定之后关闭并删除临时文本文件 x=InputBox("请根据"&filename&"中的内容"+Chr(10)+_ "选择需要同时中断的进程对应序号:"+Chr(10)+_ "(序号之间用'',''间隔例如:''1,3,5,7,11'')","选择") os.AppActivatefilename&"-记事本" os.SendKeys"%fx" WScript.Sleep500 fs.DeleteFilefilename ''--------如果用户取消了操作,就退出程序 Ifx=""thenwscript.quit ''--------把用户输入的序号列中相关的序号传递给一个数组xs xs=Split(x,",",-1,1) ''-----------对用户输入的序号列进行校对,将重复序号标记为-2,计算实际序号个数 Fori=0toubound(xs)''---利用双重循环将重复输入的内容保留一份,其他的标记为-1 forn=0toubound(xs) ifn=ithen n=n+1 ifn>ubound(xs)thenexitfor endif ifTrim(xs(n))=Trim(xs(i))Or_ Trim(xs(n))=""Then xs(n)="-1" endIf next Next w=0''----把不真实可用的序号剔除并计算出其个数 Fori=0ToUBound(xs) Ifd0.Exists(xs(i))=FalseThen xs(i)="-2" w=w+1 EndIf Next w=(UBound(xs)+1-w)''---得出可用的序号个数 ''------------如果序列中没有输入任何序号就退出程序 Ifw=0Then MsgBox"需要中断的进程列表为空!" WScript.Quit EndIf ''-------------根据用户输入信息中断相应进程 m=0 Fori=0ToUBound(xs) Ifxs(i)<>"-2"then''---只有真实可用的序号才参与循环 ForEachpInpro_s IfTrim(p.handle)=trim(d0(xs(i)))Then''---如果进程pid号码正是需要中断的就尝试中断 p_name=p.name pd=p.terminate() Ifpd=0Then''---判断中断进程的尝试是否成功 msg=p_name&"进程中断成功!" m=m+1 Else msg=p_name&"进程中断失败!" EndIf os.popupmsg,1,"通知",64+0 EndIf Next endif Next os.popupw&"个目标进程,已经中断了"&m&"个",5,"通知",64+0 WScript.quit |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 初窥WMI_Vbs脚本编程简明教程补充读物第1/2页下一篇: vbs实现的汉字转拼音的函数
关于用vbs实现的瞬间关闭多个系统进程的脚本的所有评论