VBScript 监控并结束指定进程的代码
2014-05-09来源:

有时候我们需要监控一些进程,防止一些进程的开启,发现指定进程运行就关闭它,那么就可以参考下面的代码

运行效果图:

1.jpg

代码(monprocess.vbs):

代码如下:

On Error Resume Next

strComputer = "."

arrTargetProcs = Array("calc.exe", "notepad.exe", "other.exe")

'数组里为要监视的进程名

Set SINK = WScript.CreateObject("WbemScripting.SWbemSink","SINK_")

Set objWMIService = GetObject("winmgmts:" & _

"{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

objWMIService.ExecNotificationQueryAsync SINK, _

"SELECT * FROM __InstanceCreationEvent WITHIN 1 " & _

"WHERE TargetInstance ISA 'Win32_Process'"

Wscript.Echo "Are monitoring processes ..."

Do

WScript.Sleep 1000

Loop

'***************************************************************************

Sub SINK_OnObjectReady(objLatestEvent, objAsyncContext)

'Trap asynchronous events.

For Each strTargetProc In arrTargetProcs

If LCase(objLatestEvent.TargetInstance.Name) = LCase(strTargetProc) Then

intReturn = objLatestEvent.TargetInstance.Terminate

If intReturn = 0 Then

Wscript.Echo "Time: " & Now & ", Succeed!" & chr(9) & _

"Name: " & objLatestEvent.TargetInstance.Name

Else

Wscript.Echo "Time: " & Now & ", Failed!" & chr(9) & _

"Name: " & objLatestEvent.TargetInstance.Name

End If

End If

Next

End Sub

更多信息请查看IT技术专栏

推荐信息
Baidu
map