Dynamic Variable List, How? Ex: TaskMan

JohnESP

New member
Joined
Jun 4, 2015
Messages
1
Programming Experience
1-3
A DataTable does this job.

VB.NET:
Public Class Form1    Dim dt As New DataTable
    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        Timer2.Enabled = False
        Dim RunningProcesses As System.Diagnostics.Process()
        RunningProcesses = System.Diagnostics.Process.GetProcesses()
        Dim Proc As System.Diagnostics.Process
        For Each Proc In RunningProcesses
            ' Need to remove duplicates and update these 3 rows.
            Dim selRows As DataRow() = dt.Select("Processname='" & Proc.ProcessName & ".exe'")
            If selRows.Length > 0 Then
                selRows(0).Item("Processname") = Proc.ProcessName & ".exe"
                selRows(0).Item("SessionID") = Proc.SessionId
                selRows(0).Item("ProcessID") = Proc.Id
                selRows(0).Item("WorkingSet64") = Proc.WorkingSet64
                selRows(0).Item("PrivateMemorySize64") = Proc.PrivateMemorySize64
            Else
                Dim dr As DataRow = dt.NewRow
                dr.Item("Processname") = Proc.ProcessName & ".exe"
                dr.Item("SessionID") = Proc.SessionId
                dr.Item("ProcessID") = Proc.Id
                dr.Item("WorkingSet64") = Proc.WorkingSet64
                dr.Item("PrivateMemorySize64") = Proc.PrivateMemorySize64
                dt.Rows.Add(dr)
            End If
        Next
        iteration = iteration + 1
        ToolStripLabel2.Text = iteration
        Timer2.Enabled = True
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        dt.Columns.Add("Processname")
        dt.Columns.Add("SessionID")
        dt.Columns.Add("ProcessID")
        dt.Columns.Add("WorkingSet64")
        dt.Columns.Add("PrivateMemorySize64")
        DataGridView1.DataSource = dt
    End Sub
    Dim iteration As Integer = 0
    Private Sub ToolStripLabel1_Click(sender As Object, e As EventArgs) Handles ToolStripLabel1.Click
        If Timer2.Enabled = True Then
            Timer2.Enabled = False
            ToolStripLabel1.Text = "off"
        Else
            Timer2.Enabled = True
            ToolStripLabel1.Text = "on"
        End If
    End Sub
End Class
 
Last edited:
Back
Top