Code-Beispiel
Ein Beispiel zum Einsatz der Klasse System.Diagnostics.Process aus der .NET-Klassenbibliothek.
Autor: Dr. Holger Schwichtenberg
Beschreibung
Die Klasse Process bietet eine statische Methode mit Namen GetProcesses(), die ein Array von Process-Objekten mit den aktuell laufenden Prozessen zurückliefert.
Beispiel
Der folgende Code listet alle laufenden Prozesse auf.
Programmcodebeispiele Visual Basic .NET (VB.NET)
' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Liste aller laufenden Prozesse
' (C) Holger@Schwichtenberg.de
' ============================
Sub Prozesse_Liste()
Dim p As Process ' einzelner Prozess
Dim pp() As Process ' Liste der Prozesse
' --- Liste der Prozesse holen
pp = Process.GetProcesses
' --- Schleife über alle Prozesse
For Each p In pp
out("------------------------")
out(p.Id & ":" & p.ProcessName)
out("------------------------")
If p.Id <> 0 Then
' Ausnahme für "Idle" (ID=0) !
out("Handle Count :" & _
p.HandleCount)
out("Main Window Title :" & _
p.MainWindowTitle)
out("Min Working Set :" & _
p.MinWorkingSet.ToString)
out("Max Working Set :" & _
p.MaxWorkingSet.ToString)
out("Paged Memory Size :" & _
p.PagedMemorySize)
out("Peak Paged Memory Size :" & _
p.PeakPagedMemorySize)
End If
Next
End Sub
Programmcodebeispiele CSharp (C#)
using System;
using System.Diagnostics;
namespace FCLBuch._SystemDiagnostics {
public class Samples_Prozesse {
public void Prozesse_Liste() {
// Liste aller laufenden Prozesse
// Liste der Prozesse holen
Process[] pp = Process.GetProcesses();
// Schleife über alle Prozesse
foreach ( Process p in pp ) {
FclOutput.PrintOut("------------------------");
FclOutput.PrintOut(p.Id + ":" + p.ProcessName);
FclOutput.PrintOut("------------------------");
if (p.Id != 0) { // Ausnahme für "Idle" (ID=0) !
FclOutput.PrintOut("Handle Count :" + p.HandleCount.ToString());
FclOutput.PrintOut("Main Window Title :" + p.MainWindowTitle);
FclOutput.PrintOut("Min Working Set :" + p.MinWorkingSet.ToString());
FclOutput.PrintOut("Max Working Set :" + p.MaxWorkingSet.ToString());
FclOutput.PrintOut("Paged Memory Size :" + p.PagedMemorySize.ToString());
FclOutput.PrintOut("Peak Paged Memory Size :" + p.PeakPagedMemorySize.ToString());
}
}
}
}
}
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