In VB prüfen ob ein Prozess läuft
Servus, Ich möchte gerne in VB prüfen ob ein Prozess läuft, wenn er es tut soll der Text eines Labes geändert werden. Ich hab es bisher so gemacht, aber das funktioniert nicht :(
Dim p As Process For Each p In Diagnostics.Process.GetProcesses() If p.ProcessName = "..." Then Form1.Label1.Text = "..." Else Form1.Label1.Text = "..." End If Next
Ich hoffe ihr könnt mir da helfen
4 Antworten
Prüfe erste , ob Dein gesuchter Process überhaupt den von Dir vorgegebenen Namen hat?
Liste doch alle Processe in einer ListBox auf.
Das geht mit folgendem Code:
Sub ListProcesses()
ListBox1.Items.Clear()
Dim p As Process
For Each p In Diagnostics.Process.GetProcesses()
ListBox1.Items.Add(Format(p.Id, "0000") & " = " & p.ProcessName)
Next
End Sub
Wenn Du den Process so nicht findest dann verwende beispielsweise die Titelzeile.des zugehörigen Programms (p.MainWindowTitle)
Ich bin mir nicht sicher aber ich glaube es den Befehl process.exists wenn du das in if setzt sollte es funktionieren
Keine Ahnung ob das mit der Prozessabfrage so klappt. Aber grundsätzlicher Fehler ist, dass du ein Else in deiner Schleife hast und diese auch nie abbricht Sprich, selbst wenn der betreffende Prozess gefunden wird, so wird mit hoher Wahrscheinlichkeit noch min. 1 Durchlauf erfolgen und dort die Else Bedingung greifen.
Dim p As Process
For Each p In Diagnostics.Process.GetProcesses()
If p.ProcessName = "..." Then
Form1.Label1.Text = "..."
Else
Form1.Label1.Text = "..."
End If
Next
Wusste nicht wie ich die Frage bearbeiten kann und der Code is leider verrutscht, deswegen hab ich das schnell so gemacht.