VB.NET-Tipp 0047: Informationen über Prozesse ermitteln
von Daniel Noll
Beschreibung
Dieses Beispiel zeigt, wie leicht sich mit .NET-Bordmitteln die auf einem System laufenden Prozesse auflisten und manipulieren lassen (Beenden, Hauptfenster schließen).
Schwierigkeitsgrad: | Framework-Version(en): .NET Framework 1.0, .NET Framework 1.1, .NET Framework 2.0, .NET Framework 3.0, .NET Framework 3.5 | .NET-Version(en): Visual Basic 2002, Visual Basic 2003, Visual Basic 2005, Visual Basic 2008 | Download: |
' Dieser Quellcode stammt von http://www.activevb.de ' und kann frei verwendet werden. Für eventuelle Schäden ' wird nicht gehaftet. ' Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. ' Ansonsten viel Spaß und Erfolg mit diesem Source! ' Projektversion: Visual Studio 2002/2003 ' Option Strict: Aus ' Option Explicit: An ' ' Referenzen: ' - System ' - System.Data ' - System.Drawing ' - System.Windows.Forms ' - System.XML ' ' Imports: ' - Microsoft.VisualBasic ' - System ' - System.Collections ' - System.Data ' - System.Drawing ' - System.Diagnostics ' - System.Windows.Forms ' ' ############################################################################## ' ################################ frmInfo.vb ################################## ' ############################################################################## Imports System.Diagnostics Public Class frmInfo Inherits System.Windows.Forms.Form Private Sub frmInfo_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Dim prclist As Process() = Process.GetProcesses Dim p As Process For Each p In prclist lstProcesses.Items.Add(p.ProcessName) Next lstProcesses.Sorted = True lstProcesses.SelectedIndex = 0 End Sub Private Sub lstProcesses_SelectedIndexChanged( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles lstProcesses.SelectedIndexChanged Dim p As Process = _ Process.GetProcessesByName(lstProcesses.SelectedItem)(0) Try grpInfo.Text = p.ProcessName lblPriority.Text = p.PriorityClass.ToString lblID.Text = p.Id lblFile.Text = p.MainModule.FileName lblStarttime.Text = p.StartTime().ToShortTimeString lblThreadcount.Text = p.Threads.Count() Catch ex As Exception End Try End Sub Private Sub cmdKill_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles cmdKill.Click Dim p As Process = _ Process.GetProcessesByName(lstProcesses.SelectedItem)(0) p.Kill() End Sub Private Sub cmdClose_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles cmdClose.Click Dim p As Process = _ Process.GetProcessesByName(lstProcesses.SelectedItem)(0) p.CloseMainWindow() End Sub End Class
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 1 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von Karran am 28.07.2005 um 12:47
Der Taskmanager zeigt zu den Prozessen auch noch die Benutzernamen an (NT-Systeme). Lässt sich das auch per Programm herausfinden? Bzw. wie lässt es sich herausfinden?