Process

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von FatFire.

    Hey,
    folgenden Pseudocode brauche ich als vernümpftigen Sourcecode:

    VB.NET-Quellcode

    1. If Process("prozess.exe").Exist Then
    2. blabla und blubblub
    3. End If

    Ich steh grad ziemlich aufn Schlauch..
    Wer kann mir helfen?

    Lg Chris

    Edit: Hat sich erledigt.
    Hier mal mein Spurcecode für die Nachwelt:

    VB.NET-Quellcode

    1. Dim gap() As Process = Process.GetProcesses()
    2. Dim y As Integer = 0
    3. Do
    4. If y = gap.Length Then
    5. Msgbox("Der Prozess " & gap(y).ProcessName & ".exe läuft nicht.")
    6. Exit Do
    7. End If
    8. If gap(y).ProcessName = "processname" Then 'Ohne .exe ;)
    9. Msgbox("Der Prozess " & gap(y).ProcessName & ".exe läuft.")
    10. Exit Do
    11. End If
    12. y += 1
    13. Loop

    Wahrscheinlich gehts auch viel einfacher, aber mir wollte ja keiner antworten :D:D

    Lg Chris

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Metal Freak“ ()

    sei doch nicht so ungeduldig :P
    so isses ein bisschen kürzer:

    VB.NET-Quellcode

    1. Dim da As Boolean = False
    2. For Each a As Process In Process.GetProcessesByName("explorer")
    3. da = True
    4. Next
    5. If da = True Then
    6. MsgBox("blablabla")
    7. Else
    8. MsgBox("blablabla")
    9. End If

    vG,
    Lupus
    Habs durch ein bisschen Tricksen gelöst

    VB.NET-Quellcode

    1. Dim da As Boolean = False
    2. For Each a As Process In Process.GetProcessesByName("Processname")
    3. If da Then 'Wenn dieser Process ein zweites Mal gefunden wurde
    4. GoTo h1
    5. End If
    6. da = True
    7. Next
    8. da = False 'Falls der Process nur einmal gefunden wurde
    9. h1: If da Then 'Beenden, wenn ein laufendes Process gefunden wurde
    10. MsgBox("Das Programm läuft bereits!", MsgBoxStyle.Critical)
    11. End
    12. End If

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nikolai“ ()


    Hey Leute mach doch einfach ein Timer

    Timer code:

    For Each PROZESS In Process.GetProcessesByName("Virus")
    If PROZESS.ProcessName = "Virus" Then
    Timer1.Stop()
    PROZESS.Kill()
    MsgBox("Virus gefunden zugriff verwigert!")
    Timer1.Start
    End If
    Next
    @Metal Freak

    Auch wenn nun schon ein paar Varianten genannt wurden, die funktionieren, möchte ich dir hier einen etwas Fortgeschrittenen Ansatz zeigen, der auch deinem Wunsch "Aussehen" am nächsten ist:

    VB.NET-Quellcode

    1. Import System.Diagnostics;
    2. Import System.Collections.Generic;
    3. //Das hier dann in ein Button_Klick oder so packen:
    4. Dim prozesse As Process() = Process.GetProcesses()
    5. Dim list As New List(Of System.Diagnostics.Process)(prozesse)
    6. If list.FindAll(Function(p) p.ProcessName = "prozessname").Count > 1 Then
    7. 'Mach irgendwas
    8. End If
    Ähm, Leute: Mittwoch, 31. Oktober 2007, 10:10
    Ich bezweifle, dass derjenige das nach drei Jahren noch braucht. Das stinkt schon böse nach Leichenfledderei (denkt auch mal ein wenig an die Boardregeln).

    @bigbasti:
    Warum so umständlich? "Fortgeschritten" hin oder her, ich bevorzuge einfach:

    VB.NET-Quellcode

    1. If System.Diagnostics.Process.GetProcessesByName("iexplore").Length > 0 Then
    2. ' Prozess existiert
    3. Else
    4. 'Prozess existiert nicht
    5. End If


    Gruß FatFire