Code-Beispiel
Ein Beispiel zum Einsatz der Klasse System.Diagnostics.Process aus der .NET-Klassenbibliothek.
Autor: Dr. Holger Schwichtenberg
Beschreibung
Die Klasse Process besitzt mit GetProcessesByName() eine Methode zum Selektieren der Prozesse anhand ihres Namens. Im Namen darf dabei die Dateiextension nicht angegeben werden (also "IExplore" statt "IExplore.exe").
Beispiel
Das folgende Beispiel listet alle laufenden Instanzen des Internet Explorers (Dateiname: iexplorer.exe, Prozessname: iexplore) auf. Zu jeder Instanz werden die Prozess-ID und die Startzeit ausgegeben.
Programmcodebeispiele Visual Basic .NET (VB.NET)
' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Liste ausgewählter Prozesse
' (C) Holger@Schwichtenberg.de
' ============================
Sub ProzesseListeSelektion()
Dim p As Process ' einzelner Prozess
Dim pp() As Process ' Liste der Prozesse
Const PROZESSNAME = "IEXPLORE"
' --- Liste der Prozesse holen
pp = Process.GetProcessesByName(PROZESSNAME)
' --- Ausgaben
out("Prozesse mit Namen: " & PROZESSNAME)
out("Anzahl von Prozessen: " & pp.Length)
' --- Schleife über alle Instanzen
For Each p In pp
out(p.Id & ":" & p.StartTime)
Next
End Sub
Programmcodebeispiele CSharp (C#)
using System;
using System.Diagnostics;
namespace FCLBuch._SystemDiagnostics {
public class Samples_Prozesse {
public void ProzesseListeSelektion() {
// Liste ausgewählter Prozesse
string processName = "iexplore";
// Liste der Prozesse holen
Process[] pp = Process.GetProcessesByName(processName);
// Ausgaben
FclOutput.PrintOut("Prozesse mit Namen: " + processName);
FclOutput.PrintOut("Anzahl von Prozessen: " + pp.Length);
// Schleife über alle Instanzen
foreach ( Process p in pp )
FclOutput.PrintOut(p.Id + ":" + p.StartTime);
}
}
}
Hinweise
Ausgaben werden in den Beispielen durch Hilfsroutinen wie out() und
PrintOut() erzeugt. Diese sind hier nicht angegeben, da deren Implementierung
von der jeweiligen Umgebung abhängt. Für Konsolenanwendungen können hier z.B.
Console.WriteLine() einsetzen.
Querverweise
Liste aller Codebeispiele
Definition '.NET Framework Class Library'
Verfügbarkeit der Klasse 'System.Diagnostics.Process'
Übersicht über den FCL-Namensraum 'System.Diagnostics'
.NET & Visual Studio Community Portal