vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: System/Windows · Prozesse/Tasks   |   VB-Versionen: VB.NET08.03.07
Liste aller Prozesse ermitteln (.NET)

Dieses Beispiel zeigt, wie man eine Liste aller Prozesse und deren Infos wie bspw. Dateiname, Prozess-ID usw. ermittelt.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  27.298 
www.tools4vb.deSystem:  WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Eine Liste aller laufender Prozesse lässt sich wie folgt ermitteln und bspw. in einem ListView anzeigen.

Platzieren Sie auf die Form ein ListView-Control und einen CommandButton (Button1) und fügen folgenden Code in den Codeteil der Form ein:

Imports System.Diagnostics
...
Private Sub Form1_Load(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles MyBase.Load
 
  With ListView1
    ' ListView-Control "einstellen"
    .View = View.Details
    .Sorting = SortOrder.Ascending
    .FullRowSelect = True
 
    ' Spalten erstellen
    .Columns.Add("Prozess", 100, HorizontalAlignment.Left)
    .Columns.Add("Dateiname", 250, HorizontalAlignment.Left)
    .Columns.Add("pid", 50, HorizontalAlignment.Right)
  End With
End Sub
' Liste aller Prozesse ermitteln 
Private Sub Button1_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles Button1.Click
 
  Dim oItem As ListViewItem
 
  With ListView1
    ' ListView-Inhalt löschen
    .Items.Clear()
 
    ' alle Prozesse durchlaufen
    For Each oProcess As Process In Process.GetProcesses
      ' Prozess-Infos ermitteln und im ListView anzeigen
      oItem = .Items.Add(oProcess.ProcessName)
      Try
        oItem.SubItems.Add(oProcess.MainModule.FileName)
      Catch
        oItem.SubItems.Add("")
      End Try
      oItem.SubItems.Add(oProcess.Id.ToString)
    Next 
  End With
End Sub

Erweiterung:
Über einen weiteren Button soll der User die Möglichkeit haben, den aktuell markierten Prozess zu beenden:

' Prozess beenden
Private Sub Button2_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles Button2.Click
 
  With ListView1
    If .SelectedItems.Count > 0 Then
      If MsgBox("Aktuellen Prozess wirklich beenden?", _
        MsgBoxStyle.Question Or MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
 
        ' Prozess-Objekt anhand Prozess-ID erstellen
        Dim oProccess As Process = Process.GetProcessById( _
          Val(.SelectedItems(0).SubItems(2).Text))
 
        Try
          ' Prozess beenden/zerstören
          oProccess.Kill()
        Catch ex As Exception
          ' Fehlermeldung...
          MsgBox("Fehler beim Beenden des Prozess." & vbCrLf & ex.Message.ToString)
        End Try
      End If
    End If
  End With
End Sub

Dieser Tipp wurde bereits 27.298 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel