Цитата mapisic:
если потом снова запустить programm.exe то скрипт его снова закрывает »
|
Если снова запустить — то пойдёт новый отсчёт времени, с нуля.
Ну, например, вот так:
Скрытый текст
Код:

Option Explicit
Dim strProcessName
Dim intDuration
Dim intPolling
Dim strComputer
Dim objSWbemObjectEx
Dim objSWbemDateTime
strProcessName = "Notepad.exe"
intDuration = 15
intPolling = 5
strComputer = "."
With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(strComputer, "root\cimv2")
Set objSWbemDateTime = WScript.CreateObject("WbemScripting.SWbemDateTime")
Do
For Each objSWbemObjectEx In .ExecQuery("SELECT * FROM Win32_Process WHERE Name = '" & strProcessName & "'")
objSWbemDateTime.Value = objSWbemObjectEx.CreationDate
If DateAdd("s", intDuration, objSWbemDateTime.GetVarDate()) < Now() Then
objSWbemObjectEx.Terminate
End If
Next
WScript.Sleep intPolling * 1000
Loop
Set objSWbemDateTime = Nothing
End With
WScript.Quit 0
«strProcessName» — имя процесса, «intDuration» — ограничение на продолжительность работы указанного процесса (в секундах), «intPolling» — период опроса процессов (в секундах).