VBScript 监控并结束指定进程的代码

时间:2021-05-22

运行效果图:



代码(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

原文:https://www.enun.net/?p=2385

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章