haegar75
Goto Top

Anhand PID prüfen ob Prozess läuft

Hallo Leute,
ich benötige eure Hilfe..
Mein Programm startet eine weitere Anwendung und beendet diese wieder wenn es beendet wird.

      Dim instance As New ProcessStartInfo
        instance.WorkingDirectory = FS.GetParentPath(Pfad)
        instance.FileName = Pfad
        Dim p As Process = Process.Start(instance)
Falls das zweite Programm allerdings vorzeitig bendet wurde, erzeugt mein

p.Kill() 

eine Exception.. Wie kann ich vorher prüfen ob es was zum beenden gibt? Der Name der 2. Anwendung kann variieren..

Gruß Haegar

Content-Key: 154914

Url: https://administrator.de/contentid/154914

Printed on: April 20, 2024 at 03:04 o'clock

Member: bastla
bastla Nov 11, 2010 at 18:10:38 (UTC)
Goto Top
Hallo Haegar75!

Entweder einfach per "Try" oder tatsächlich unter Verwendung der PID etwa in der Art (ungetestet):
Dim proc As Process, IsActive As Boolean = False, PID As String = p.Id.ToString()
For Each proc In Process.GetProcesses
    If proc.Id.ToString() = PID Then
        IsActive = True
        Exit For
    End If
Next proc
If IsActive Then p.Kill()
Grüße
bastla
Member: Haegar75
Haegar75 Nov 12, 2010 at 06:25:43 (UTC)
Goto Top
Hallo Bastla,
so gehts jetzt auch ohne Exception! Vielen Dank!
VG Haegar