Prozess Beenden

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von SpaceyX.

    Prozess Beenden

    Hallo ich möchte das wenn in der Textbox der befehl steht /k [PROZESS] das er dann beendet wird. Mein Code ist dieser

    VB.NET-Quellcode

    1. Dim Input As String = TextBox1.Text
    2. If Input.Contains("/k") Then
    3. Try
    4. For Each a As Process In Process.GetProcessesByName(Input.Replace("k", ""))
    5. a.Kill()
    6. RichTextBox1.Text += "Prozess " & Input.Replace("k", "") & " wurde beendet." & vbNewLine
    7. Next
    8. Catch ex As Exception
    9. RichTextBox1.Text += "Prozess " & Input.Replace("k", "") & " konnte nicht beendet werden." & vbNewLine
    10. End Try
    11. End If


    Doch er funktioniert nicht. Kann mir wer helfen?
    Huhu,

    wenn Du z. B.


    /k chrome


    killen willst, dann musst Du es so machen:

    VB.NET-Quellcode

    1. a.Kill(Input.Replace("/k ","")


    Beachte das Leerzeichen nach dem "k".

    Und Input ist ein schlechter Name für eine Varible, da Input schon als Funktion zur Verfügung steht. Kann u. U. zu Verwechslungen führen.

    Noch eins. Das Suffix .exe musst Du weglassen. Gib Dir mal die laufenden Prozessnamen aus, dann siehst Du, was ich mein.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

    SpaceyX schrieb:

    Huhu,

    wenn Du z. B.


    /k chrome


    killen willst, dann musst Du es so machen:

    VB.NET-Quellcode

    1. a.Kill(Input.Replace("/k ","")


    Beachte das Leerzeichen nach dem "k".

    Und Input ist ein schlechter Name für eine Varible, da Input schon als Funktion zur Verfügung steht. Kann u. U. zu Verwechslungen führen.

    Noch eins. Das Suffix .exe musst Du weglassen. Gib Dir mal die laufenden Prozessnamen aus, dann siehst Du, was ich mein.

    Ja das hatte ich aber es funktioniert nicht.... der Code ist:

    VB.NET-Quellcode

    1. Dim Input2 As String = TextBox1.Text
    2. If Input2.Contains("/k ") Then
    3. Try
    4. For Each a As Process In Process.GetProcessesByName(Input2.Replace("/k ", ""))
    5. a.Kill()
    6. RichTextBox1.Text += "Prozess " & Input2.Replace("/k ", "") & " wurde beendet." & vbNewLine
    7. Next
    8. Catch ex As Exception
    9. RichTextBox1.Text += "Prozess " & Input2.Replace("/k ", "") & " konnte nicht beendet werden." & vbNewLine
    10. End Try
    11. End If
    Bitte keine Vollzitate, sonst kriegste Ärger mit den Admins.

    Gib mal ein Beispiel, was Du in die Textbox schreibst.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Hast Du Dir mal einen Haltepunkt gesetzt und die Werte der Variablen geprüft? Welche Fehlermeldung wird ausgegeben?
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Dann schlag ich Dir mal vor, Du lässt den Try-Catch-Block mal weg. Das ist ohnehin unnötig. Damit nimmst Du Dir die Möglichkeit, die echte Fehlermeldung zu Gesicht zu bekommen. Poste mal, was dann passiert.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Dass bedeutet dann für Dich, dass es keine laufenden Prozesse unter diesem Namen gibt, da die Schleife nicht betreten wird.

    Poste mal den Code, den Du jetzt hast.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Nein das brauch ich nicht ich weiß worans liegt, ich habe den Code so geschrieben das wenn man /notepad eingibt das dann notepad.exe beendet wird und wenn /k notepad.exe beendet wird gehts wieder nicht.

    Hier mein jetziger code:

    VB.NET-Quellcode

    1. Dim Input As String = TextBox1.Text
    2. If Input.Contains("/") Then
    3. For Each a As Process In Process.GetProcessesByName(Input.Replace("/", ""))
    4. a.Kill()
    5. RichTextBox1.Text += "Prozess " & Input.Replace("/", "") & " wurde beendet." & vbNewLine
    6. Next
    7. RichTextBox1.Text += "Prozess " & Input.Replace("+", "") & " konnte nicht beendet werden." & vbNewLine
    8. End If
    Äh, mir fällt es etwas schwer, den Sinn Deines letzten Postings zu verstehen. Ist Dein Problem nun behoben?
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o