fontenette
27-11-2014, 09:02
Здравствуйте! У меня есть два скрипта:
1. Мониторинг запуска процесса (для примера, калькулятора)
Const ProcName = "calc.exe"
Set colEvents = GetObject("winmgmts:\\.\Root\CIMV2").ExecNotificationQuery( _
"SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process' " & _
"AND TargetInstance.Name = '" & ProcName & "'")
do
Set objEvent = colEvents.NextEvent
MsgBox "Вы запустили процесс " & objEvent.TargetInstance.Name
loop
2. Мониторинг завершения процесса (для примера, того же калькулятора)
Const ProcName = "calc.exe"
Set colEvents = GetObject("winmgmts:\\.\Root\CIMV2").ExecNotificationQuery( _
"SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process' " & _
"AND TargetInstance.Name = '" & ProcName & "'")
do
set objEvent = colEvents.NextEvent
MsgBox "Вы закрыли процесс " & objEvent.TargetInstance.Name
loop
Если запускать каждый из них по отдельности, то скрипты отрабатывают нормально. Подскажите, как их объединить в один скрипт.
1. Мониторинг запуска процесса (для примера, калькулятора)
Const ProcName = "calc.exe"
Set colEvents = GetObject("winmgmts:\\.\Root\CIMV2").ExecNotificationQuery( _
"SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process' " & _
"AND TargetInstance.Name = '" & ProcName & "'")
do
Set objEvent = colEvents.NextEvent
MsgBox "Вы запустили процесс " & objEvent.TargetInstance.Name
loop
2. Мониторинг завершения процесса (для примера, того же калькулятора)
Const ProcName = "calc.exe"
Set colEvents = GetObject("winmgmts:\\.\Root\CIMV2").ExecNotificationQuery( _
"SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process' " & _
"AND TargetInstance.Name = '" & ProcName & "'")
do
set objEvent = colEvents.NextEvent
MsgBox "Вы закрыли процесс " & objEvent.TargetInstance.Name
loop
Если запускать каждый из них по отдельности, то скрипты отрабатывают нормально. Подскажите, как их объединить в один скрипт.