Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 63
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Попробуйте так: »
Не пойму почему у меня не выходит подставив в ваш код путь для другой программы... Я понимаю что это детский сад, но не выходит, чтобы процесс мониторился. Что нужно менять, чтобы любой процесс можно было мониторить и запускать если он "сдох по неведомым причинам"?
Код: Выделить весь код
Option Explicit

Const SW_SHOWMINNOACTIVE = 7

Dim objSWbemObjectEx
Dim lngProcessID


With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2")
	Set objSWbemObjectEx = .Get("Win32_ProcessStartup").SpawnInstance_
	objSWbemObjectEx.ShowWindow = SW_SHOWMINNOACTIVE

	Do
		If .Get("Win32_Process").Create( _
			"""C:\Windows\System32\notepad.exe""", Null, objSWbemObjectEx, lngProcessID _
		) = 0 Then
			
			.ExecNotificationQuery( _
				"SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE " & _
				"TargetInstance ISA 'Win32_Process' AND " & _
				"TargetInstance.ProcessID = '" & CStr(lngProcessID) & "'").NextEvent
		Else
			' Не удалось запустить процесс
			Exit Do
		End If
	Loop
	
	Set objSWbemObjectEx = Nothing
End With

WScript.Quit 0
Блокнот мне неважен, пробовал на разных програмах, но не вышло сделать программу(процесс) псевдонеубиваемым.

Отправлено: 10:06, 21-11-2021 | #43