用VBS實現(xiàn)監(jiān)視進程創(chuàng)建與刪除的代碼
更新時間:2011年02月26日 21:22:50 作者:
微軟腳本中心里的例子,用到了WMI事件,抄下來備查。
監(jiān)視進程的創(chuàng)建,在每次創(chuàng)建新的進程時,臨時事件消費程序都發(fā)出警報。
1.監(jiān)視進程的創(chuàng)建
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService. _
ExecNotificationQuery("select * from __instancecreationevent " _
& " within 1 where TargetInstance isa 'Win32_Process'")
i = 0
Do While i = 0
Set objLatestProcess = colMonitoredProcesses.NextEvent
Wscript.Echo objLatestProcess.TargetInstance.Name
Loop
2.監(jiān)視進程的刪除,在每次進程終止時,臨時事件消費程序都發(fā)出警報。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService. _
ExecNotificationQuery("select * from __instancedeletionevent " _
& "within 1 where TargetInstance isa 'Win32_Process'")
i = 0
Do While i = 0
Set objLatestProcess = colMonitoredProcesses.NextEvent
Wscript.Echo objLatestProcess.TargetInstance.Name
Loop
3.監(jiān)視進程使用處理器的情況
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_process")
For Each objProcess in colProcesses
sngProcessTime = ( CSng(objProcess.KernelModeTime) + _
CSng(objProcess.UserModeTime)) / 10000000
Wscript
1.監(jiān)視進程的創(chuàng)建
復(fù)制代碼 代碼如下:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService. _
ExecNotificationQuery("select * from __instancecreationevent " _
& " within 1 where TargetInstance isa 'Win32_Process'")
i = 0
Do While i = 0
Set objLatestProcess = colMonitoredProcesses.NextEvent
Wscript.Echo objLatestProcess.TargetInstance.Name
Loop
2.監(jiān)視進程的刪除,在每次進程終止時,臨時事件消費程序都發(fā)出警報。
復(fù)制代碼 代碼如下:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService. _
ExecNotificationQuery("select * from __instancedeletionevent " _
& "within 1 where TargetInstance isa 'Win32_Process'")
i = 0
Do While i = 0
Set objLatestProcess = colMonitoredProcesses.NextEvent
Wscript.Echo objLatestProcess.TargetInstance.Name
Loop
3.監(jiān)視進程使用處理器的情況
復(fù)制代碼 代碼如下:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_process")
For Each objProcess in colProcesses
sngProcessTime = ( CSng(objProcess.KernelModeTime) + _
CSng(objProcess.UserModeTime)) / 10000000
Wscript
參考鏈接:
參考: http://hi.baidu.com/%B1%F9%D0%C4%B3%D5/blog/item/5691a1c3146ded55b219a861.html http://demon.tw/programming/vbs-monitoring-process-creation-and-deletion.html相關(guān)文章
vbs中使用 ADO 讀取所有數(shù)據(jù)均在一行上的文本文件的代碼
vbs中使用 ADO 讀取所有數(shù)據(jù)均在一行上的文本文件的代碼...2007-03-03
讓IIS建立的站點默認是.net 2.0的,而不是.net 1.1的代碼
讓IIS建立的站點默認是.net 2.0的,而不是.net 1.1的,沒有使用WMI,所以在操作前先得停止IIS相關(guān)服務(wù)2008-07-07
VBS中InStrRev函數(shù)的第三個參數(shù)(Start)使用注意事項
這篇文章主要介紹了VBS中InStrRev函數(shù)的第三個參數(shù)(Start)使用注意事項,它是從開始第N個字符開始搜索的,需要的朋友可以參考下2014-07-07
vbs ShellExecute運行外部程序時如何判斷外部程序執(zhí)行成功與否
這篇文章主要介紹了vbs ShellExecute運行外部程序時如何判斷外部程序執(zhí)行成功與否,需要的朋友可以參考下2023-06-06

