Помогите, не могу сделать чтобы этот скрипт постоянно висел в ожидании, и каждые пять минут проверял сколько копий блокнота запущено
On Error Resume Next
Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")
send = "Вы запустили больше одной копии блокнота!!!"
dim a, b, c
a = 5 'каждые 5 минут
If Err.Number 0 Then
WScript.Echo Err.Number & ": " & Err.Description
WScript.Quit
End If
b=a*1000*60
wscript.sleep b
For Each objProc In objService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'notepad.exe'")
i=i+1
if i>1 then
objProc.Terminate
end if
Next
msgbox send
VBS/WSH/JS - [решено] зацикливание
-
Iska
Re: VBS/WSH/JS - [решено] зацикливание
Примерно так:
Код:
Только смысл? За пять минут в Блокноте можно много чего сделать. И есть более правильный способ: подписка на событие по «Win32_ProcessStartTrace».
читать дальше »
Код:
Код: Выделить всё
Option Explicit
Const intPeriod = 5
Dim objSWbemServices
Dim objSWbemObjectEx
Dim i
Set objSWbemServices = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")
Do
i = 0
For Each objSWbemObjectEx In objSWbemServices.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'notepad.exe'")
i = i + 1
if i > 1 Then
objSWbemObjectEx.Terminate
End if
Next
WScript.Sleep 1000 * 60 * intPeriod
Loop
Set objSWbemServices = Nothing
WScript.QuitТолько смысл? За пять минут в Блокноте можно много чего сделать. И есть более правильный способ: подписка на событие по «Win32_ProcessStartTrace».