PDA

Показать полную графическую версию : [решено] Мониторинг процесса в диспетчере задач и запуск его в случае отсутствия


Страниц : 1 2 [3]

selftrips.ru
05-10-2016, 20:55
Подскажите еще плиз. в вашем коде есть "C:\Program Files (x86)\Mozilla" , но я обновил FF и он стал 64 разрядным. Но скрипт продолжает работать. Это нормально?

Iska
05-10-2016, 21:13
но я обновил FF и он стал 64 разрядным »
Такое разве нынче возможно? Подобное поведение было в первых версиях x64-версии, и являлось подтверждённой ошибкой инсталлятора. А нынче, судя по: How to switch from 32-bit to 64-bit Firefox | Firefox Help (https://support.mozilla.org/en-US/kb/switch-32-bit-64-bit) — x64 должна была установиться в %ProgramFiles%, а не обновлять в %ProgramFiles(x86)%.

NLOLegion
21-11-2021, 10:06
Попробуйте так: »

Не пойму почему у меня не выходит подставив в ваш код путь для другой программы... Я понимаю что это детский сад, но не выходит, чтобы процесс мониторился. Что нужно менять, чтобы любой процесс можно было мониторить и запускать если он "сдох по неведомым причинам"?
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
Блокнот мне неважен, пробовал на разных програмах, но не вышло сделать программу(процесс) псевдонеубиваемым.

Iska
21-11-2021, 23:53
Что за приложение? Какой путь?




© OSzone.net 2001-2012