Вы можете отслеживать, когда программа останавливается в VBScript, используя WMI. Это довольно просто. Вы даже можете установить управляемый событиями сценарий, который выполняется, когда он останавливается. Это выглядит так:
strProcess = "someprocess.exe"
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colEvents = objWMIService.ExecNotificationQuery( _
"SELECT * FROM __InstanceDeletionEvent WITHIN 1 " _
& "WHERE TargetInstance ISA CIM_Process " _
& "AND TargetInstance.Name='" & strProcess & "'")
While True
' Process stopped
Wend
Set colEvents = Nothing
Set objWMIService = Nothing
Проблема заключается в том, что нет способа обнаружить , почему он остановился или какое действие вызвало его, если только эта конкретная программа не инициирует событие или не записывает в журнал событий (или любой другой журнал в этом отношении). К сожалению.