zoukankan      html  css  js  c++  java
  • 实时监视进程并终止该进程

    5秒提示方式

    On Error Resume Next
    strComputer = "."
    arrTargetProcs = Array("calc.exe")
    
    set objShell = CreateObject ("Wscript.Shell")
    Set SINK = WScript.CreateObject("WbemScripting.SWbemSink","SINK_")
    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\" & strComputer & "
    ootcimv2")
    objWMIService.ExecNotificationQueryAsync SINK, _
    "SELECT * FROM __InstanceCreationEvent WITHIN 1 " & _
    "WHERE TargetInstance ISA 'Win32_Process'"
    
    Do
       WScript.Sleep 1000
    Loop
    
    Sub SINK_OnObjectReady(objLatestEvent, objAsyncContext)
    For Each strTargetProc In arrTargetProcs
      If LCase(objLatestEvent.TargetInstance.Name) = LCase(strTargetProc) Then
        ProcessName=objLatestEvent.TargetInstance.Name
        objShell.Popup  Now & " 发现进程: " & ProcessName, 5, "提示信息"
        intReturn = objLatestEvent.TargetInstance.Terminate
        If intReturn = 0 Then
          objShell.Popup  Now & " 终止进程: " & ProcessName & " 成功", 5, "提示信息"
        Else
          objShell.Popup  Now & " 终止进程: " & ProcessName & " 失败", 5, "提示信息"
        End If
      End If
    Next
    End Sub

    宁静日志方式(D:kill.log)

    On Error Resume Next
    strComputer = "."
    arrTargetProcs = Array("calc.exe")
    
    set fso=Wscript.CreateObject("Scripting.FileSystemObject")
    set file=fso.OpenTextFile("D:kill.log",2,True)
    Set SINK = WScript.CreateObject("WbemScripting.SWbemSink","SINK_")
    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\" & strComputer & "
    ootcimv2")
    objWMIService.ExecNotificationQueryAsync SINK, _
    "SELECT * FROM __InstanceCreationEvent WITHIN 1 " & _
    "WHERE TargetInstance ISA 'Win32_Process'"
    
    Do
       WScript.Sleep 1000
    Loop
    
    Sub SINK_OnObjectReady(objLatestEvent, objAsyncContext)
    For Each strTargetProc In arrTargetProcs
      If LCase(objLatestEvent.TargetInstance.Name) = LCase(strTargetProc) Then
        ProcessName=objLatestEvent.TargetInstance.Name
        file.Writeline  Now & " 发现进程: " & ProcessName
        intReturn = objLatestEvent.TargetInstance.Terminate
        If intReturn = 0 Then
          file.Writeline  Now & " 终止进程: " & ProcessName & " 成功"
        Else
          file.Writeline  Now & " 终止进程: " & ProcessName & " 失败"
        End If
      End If
    Next
    End Sub

    结束监视

    @echo off
    for /f "tokens=1" %%i in ('tasklist.exe') do echo %%i
    for /f "tokens=2" %%i in ('tasklist.exe^|find /i "wmiprvse"') do taskkill.exe /f /PID %%i
    taskkill.exe /f /im wscript.exe
    taskkill.exe /f /im unsecapp.exe
  • 相关阅读:
    POJ 3786 dp-递推 Adjacent Bit Counts *
    九度 1395 爱钱的胡老板 完全背包
    HDOJ 1085 Holding Bin-Laden Captive! (母函数)
    HDOJ 1028 Ignatius and the Princess III (母函数)
    HDOJ 1398 Square Coins 母函数
    生成函数(母函数)
    『转』 教你去视频网站的开始广告
    HDOJ 2082 找单词 (母函数)
    HDOJ 3177 Crixalis's Equipment
    Codeforces 322B
  • 原文地址:https://www.cnblogs.com/cnsealine/p/3364415.html
Copyright © 2011-2022 走看看