Войти

Показать полную графическую версию : монитор процесса и завершение


d_dwen
11-07-2016, 12:15
Добрый день!
Помогите разобраться со скриптом.
Цель - скрипт будет висеть в автозагрузке. Постоянно мониторить процесс (за пример взял калькулятор).
Если калькулятор запущен, то вырубать его.
Сам по себе вроде как работает, но разово. (т.е. когда сам его запускаю он вырубает процесс и все. но когда в автозагрузке ничего не происходит)

подскажите в чем проблема. Я, наверно, запарил в Do Loop


Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")
Set colServices = objWMIService.ExecQuery _
("SELECT * FROM Win32_Process WHERE Name = 'calc.exe'")
Do
Running = False
Set colItems = objWMIService.ExecQuery("Select * from Win32_Process")
For Each objItem in colItems
If objItem.Name = "calc.exe" Then
Running = True
Exit For
End If
Next
If Not Running Then
WScript.Sleep 2000
Loop while Not Running
Dim oShell : Set oShell = CreateObject("WScript.Shell")
oShell.Run "taskkill /im calc.exe", , True
End If

Опиум
11-07-2016, 13:15
d_dwen, то что он работает вообще видно?

greg zakharov
11-07-2016, 13:59
Вообще, довольно странно получать список процессов через WMI, а грохать процесс с помощью taskkill. Во-вторых, что подразумевается под автозагрузкой: Run в реестре, задача в планировщике или просто ярлык в папке "Автозагрузка"?

megaloman
11-07-2016, 16:06
Program = "calc.exe"

Set WMI = GetObject("winMgmts:")
SQuery = "Select *From Win32_Process Where Name=" + """" + Program + """"

Do
Set Processes = WMI.ExecQuery(SQuery)
For Each Process In Processes
Process.Terminate
Next
WScript.Sleep 2000
Loop
После запуска (в том числе и в папке "автозагрузка") убить этот скрипт можно только в диспетчере задач. Если запущено несколько калькуляторов, будут убиты все.

Iska
11-07-2016, 18:42
Script samples / Operating System / Processes / Processes and Threads / Prevent a Process from Running - VBScript, vbs, cscript, wscript, wsh, script, WMI (http://www.vbsedit.com/scripts/os/process/procthd/scr_996.asp).

С галереи (http://gallery.technet.microsoft.com/scriptcenter) его убрали что-ли, не пойму?!




© OSzone.net 2001-2012