keugon
Goto Top

Anwendung mit HasExited prüfen ohne sie vorher zu Starten

Also miene Frage bezicht sich auf das überwachen von Prozessen

also der code zum starten einer anwendung

Dim ExterneAnwendung As New System.Diagnostics.Process()
ExterneAnwendung.StartInfo.FileName = "notepad.exe"  
ExterneAnwendung.Start()

und der wichtige code zum überprüfen ob diese anwendung läuft=aktiv ist

If ExterneAnwendung.HasExited Then
 
.....
.....
Else
 ......
.....
End If

nun zu meine Problem ich will einen prozess in mein fall skype.exe
darauf prüfen ob diese läuft aber ich will sie vorher nicht starten also

ExterneAnwendung.Start()

nur wenn ich genua diese Zeile auslasse
wird der code der die anwendung überprüft

If ExterneAnwendung.HasExited Then

Gelb hinterlegt

jetzt frage ich wie kan ich eine anwendung ohne sie vorher zu starten
prüfen ob sie aktiv ist

hoffe ich habs verständlich rüber gebracht
danke schon mal voraus für die Hilfe

Content-Key: 120146

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

Printed on: April 25, 2024 at 09:04 o'clock

Member: Supermax
Supermax Jul 09, 2009 at 18:56:16 (UTC)
Goto Top
Mit der Methode Process.GetProcessesByName(string Name) kannst du eine Liste der gerade laufenden Prozesse mit einem bestimmten Namen abrufen.

Dokumentation auf MSDN:
http://msdn.microsoft.com/de-de/library/z3w4xdc9%28VS.80%29.aspx
Member: Keugon
Keugon Jul 09, 2009 at 19:09:09 (UTC)
Goto Top
könntest du mir diese möglichkeit erleutern wie ich es einsetzten muss um die anwendung
das zu erreichen
im sinne :

if skype.exe ist aktive then
...
else
endif
Member: Supermax
Supermax Jul 09, 2009 at 19:37:44 (UTC)
Goto Top
Dim processes As Process() = Process.GetProcessesByName("skype")  
If processes.Length = 0 Then
   Console.WriteLine("skype scheint nicht zu laufen")  
Else
   Console.WriteLine("Es läuft mindestens 1 Skype-Prozess")  
End If

Mal ein kurzes Beispiel, in VB.NET bin ich nicht so gut, ich programmiere eigentlich nur in C#

GetProcessesByName() gibt ein Array von Process-Objekten zurück, falls kein laufender "skype"-Prozess gefunden wird, ist dieses Array leer (processes.Length ist gleich 0).
Member: Keugon
Keugon Jul 09, 2009 at 20:06:34 (UTC)
Goto Top
Danke @Supermax das läuft perfect

das is einfach ein spitzenforum