Как я могу добавить другое условие, которое обнаружит, что путь отсутствует - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь создать сторожевое приложение для какой-нибудь программы в нашей компании. Я уже могу запустить программу, если она была закрыта, но моя последняя проблема заключается в том, как сторожевой таймер может определить, отсутствует ли программа, которую он отслеживает. Я хотел бы добавить еще одно условие, при котором, если Программа не найдена (например, Firefox), она перезапустит систему. Спасибо

Module Module1

Public Sub Main()
    Application.Run(New Watchdog)
End Sub

End Module

Public Class Watchdog
Inherits ApplicationContext

Private AppToWatch As String
Private FullPath As String = "C:\Program Files\Mozilla Firefox\firefox1.exe"

Private WithEvents P As Process

Public Sub New()
    AppToWatch = System.IO.Path.GetFileNameWithoutExtension(FullPath)
    Dim PS() As Process = Process.GetProcessesByName(AppToWatch)
    If PS.Length = 0 Then
        StartIt()


    Else
        P = PS(0)
        P.EnableRaisingEvents = True

    End If
End Sub

Private Sub P_Exited(sender As Object, e As EventArgs) Handles P.Exited
    StartIt()
End Sub

Private Sub StartIt()
    P = Process.Start(FullPath)
    P.EnableRaisingEvents = True
End Sub
End Class

1 Ответ

0 голосов
/ 13 июня 2019

Самый простой способ проверить, запущено ли приложение, - это проверять ваши процессы каждые 5 минут или через любой интервал времени, который вы хотите, используя таймер, и если вы его не найдете, то можете вызвать «StartIt ()», убедитесь, что Вы включаете этот таймер тоже ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...