Überprüfen, ob Prozess offen ist

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von gfcwfzkm.

    Überprüfen, ob Prozess offen ist

    Hoi,

    Ich möchte, das die ganze Zeit überpüft wird, ob ein prozess läuft, und wenn nein, das er dann was macht.

    Frage:

    Wie könnte ich sowas realisieren?

    mfg

    gfcwfzkm
    thx

    bekomme nun ein neues Problem:

    Ich verwende eine andere möglichkeit, einen prozess zu starten, umd wollte den namen da einfügen, was nicht geht.

    Oder besser, der Code:

    VB.NET-Quellcode

    1. Dim Process_info As ProcessStartInfo
    2. 'Is in einer Sub, aber das hier ist was wichtige...
    3. Dim psi As ProcessStartInfo = _
    4. New ProcessStartInfo(Pfad & "\" & AppName)
    5. Process_info = psi
    6. Process.Start(psi)
    7. End Sub
    8. Public Sub Debugen()
    9. Dim psi As ProcessStartInfo = Process_info
    10. Dim excelProcesse() As Process = Process.GetProcessesByName("excel")
    11. If excelProcesse.Length > 0 Then
    12. StopToolStripMenuItem.Enabled = True
    13. DebugenToolStripMenuItem.Enabled = False
    14. ToolStripButton1.Enabled = False
    15. ToolStripButton2.Enabled = True
    16. Else
    17. StopToolStripMenuItem.Enabled = False
    18. ToolStripButton2.Enabled = False
    19. DebugenToolStripMenuItem.Enabled = True
    20. ToolStripButton1.Enabled = True
    21. End If
    22. End Sub
    23. Public Sub Process_Kill()
    24. Dim psi As ProcessStartInfo = Process_info
    25. Dim pProcess() As Process = System.Diagnostics.Process.GetProcessesByName("notepad")
    26. For Each p As Process In pProcess
    27. p.Kill()
    28. Next
    29. End Sub


    Das Problem: psi lässt sich nicht in string konvertieren, wenn ich es mit "notepad" oder "excel" ersetzten will...

    könnt ihr mir auf die sprünge helfen?

    mfg

    gfcwfzkm

    gfcwfzkm schrieb:

    Das Problem: psi lässt sich nicht in string konvertieren, wenn ich es mit "notepad" oder "excel" ersetzten will...

    Ich sehe nur Codefragmente, die mehr oder weniger nichts miteinander zu tun haben.
    Wie sieht denn Dein nicht laufender Code aus, mit dem Du das bewerkstelligen willst.
    Deine eingangs gestellte Frage wurde durch den Beitrag von @xtts02 beantwortet.
    Was willst Du denn überhaupt erreichen?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Was ich erreichen will, und wozu dieser Code dient:

    Ich erstelle mit dem ersten Teil eine Konsole, deswegen "Process.Start(psi)

    Nun soll aber das erwähnte "psi" weitergegeben werden. Deswegen Oben das Process_info

    Diese soll verwendet werden, um zu sehen, ob der Process noch läuft, und um diesen zu "killen"

    mfg

    gfc