2012-03-22 15 views
5

muszę napisać program monitorowania/watchdog, by sprawdzić szereg aplikacjiJak programowo sprawdzić, czy aplikacja ma wisieć w VB.NET

Program monitorowania powinien móc

  1. Ustal, czy aplikacje jest monitoring powiesić lub brak odpowiedzi
  2. Jeśli to wisi, uruchom konkretnego zastosowania

Jakie API w VB.NET może mi pomóc ac uwierz to?

każdy przykładowy kod byłoby bardzo pomocne

Odpowiedz

5

Można użyć System.Diagnostics.Process aby rozpocząć/znaleźć procesy pan patrzy. W zależności od aplikacji oglądanych, można użyć coś takiego:

For Each proc As Process In System.Diagnostics.Process.GetProcesses 
    If proc.ProcessName = "notepad" Then 
    If proc.Responding = False Then 
     ' attempt to kill the process 
     proc.Kill() 

     ' try to start it again 
     System.Diagnostics.Process.Start(proc.StartInfo) 
    End If 
    End If 
Next 

Ustalenie, czy aplikacja jest „zawieszony” nie zawsze jest oczywiste. Może po prostu być zajęty robieniem czegoś. Również Process.Responding wymaga MainWindow.

To bardzo prosty przykład, ale mam nadzieję, że wskaże wam właściwy kierunek.

Powiązane problemy