[Visual Basic] Prozesse auflisten

    • [Visual Basic] Prozesse auflisten



      Hier ein Code, um sich in VB die aktuell laufenden Prozesse in einer Listbox ausgeben zu lassen. Diese lassen sich auch anhand ihres momentanen Speicherplatzverbrauches aussortieren (siehe den Slider mit der einzustellenden MB Grenze)
      In dem Code verwende ich (aus Anschauungsgründen) eine Extraklasse, um die Möglichkeit der "Objektinitialisierer" zu verwenden.
      Des Weiteren verwende ich (ebenfalls zu Übungs-Anschauungszwecken) einen
      "LAMBDA" Ausdruck, um das Muster der Ergebnisse festzulegen (siehe die MB Grenze).

      Visual Basic Source Code

      1. ''' <summary>
      2. ''' In dem Code verwende ich (aus Anschauungsgründen) eine Extraklasse,
      3. ''' um die Möglichkeit der "Objektinitialisierer" zu verwenden.
      4. ''' Des Weiteren verwende ich (ebenfalls zu Übungs-Anschauungszwecken) einen
      5. ''' "LAMBDA" Ausdruck, um das Muster der Ergebnisse festzulegen (siehe die MB Grenze)
      6. ''' </summary>
      7. ''' <remarks></remarks>
      8. Public Class Form1
      9. Private Perc As Integer = 0
      10. ''' HILFSFUNKTIONEN
      11. '''
      12. Sub DisplayProcesses(ByVal match As Func(Of Process, Boolean))
      13. ' Implizit-Typisierte lokale Variable unserer Klasse "ProcessData"
      14. Dim processes = New List(Of ProcessData)()
      15. For Each process In System.Diagnostics.Process.GetProcesses()
      16. If match(process) Then
      17. ' Via Objektinitialisierer initialisieren
      18. processes.Add(New ProcessData With {.Id = process.Id, _
      19. .Name = process.ProcessName, .Memory = process.WorkingSet64})
      20. End If
      21. Next
      22. For i As Integer = 0 To processes.Count - 1
      23. ListView1.Items.Add(processes.Item(i).Name & " (ID : " & processes.Item(i).Id & "," _
      24. & " MemUsage : " & processes.Item(i).Memory & " KB)")
      25. Next
      26. End Sub
      27. ' Prozesse auflisten
      28. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      29. ' Evtl. alte Einträge entfernen
      30. ListView1.Clear()
      31. ' LAMBDA Ausdruck STATT extra eine eigene Funktion zu verwenden
      32. DisplayProcesses(Function(process) process.WorkingSet64 >= (Perc * 1024) * 1024)
      33. End Sub
      34. ' Auf Scrollen (Änderung der Trackbar) reagieren
      35. Private Sub TrackBar1_Scroll(sender As Object, e As EventArgs) Handles TrackBar1.Scroll
      36. Perc = TrackBar1.Value * 10
      37. Label3.Text = "Megabyte >= " & Perc & " MB"
      38. End Sub
      39. End Class
      40. ''' <summary>
      41. ''' Unsere Klasse, welche wichtige Infos aufnimmt
      42. ''' </summary>
      43. ''' <remarks></remarks>
      44. Class ProcessData
      45. Public Id As Int32
      46. Public Memory As Int64
      47. Public Name As String
      48. End Class
      Display All

      ..:: Beispielausgabe ::..