Para este ejemplo utilizo un ListView llamado lsvProcesos y un boton lamado cmdKillProcess, luego obtengo los procesos (aplicaciones) que se ejcutan en la PC.
Imports System.Diagnostics
Dim MisProcesos As New Dictionary(Of Integer, String)
Dim lsvItem As ListViewItem
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Aqui obtengo los procesos de mi maquina
For Each p As Process In Process.GetProcesses
If String.IsNullOrEmpty(p.MainWindowTitle) Then
'Aqui guardo el Id y el nombre de los procesos
MisProcesos.Add(p.Id, p.ProcessName & ".exe")
Else
'Aqui guardo el Id y el nombre de los procesos con el titulo de la ventana
MisProcesos.Add(p.Id, p.ProcessName & ".exe" & " - " & p.MainWindowTitle)
End If
Next
'In serto en el listview los valores obtenidos
For Each kvp As KeyValuePair(Of Integer, String) In MisProcesos
lsvItem = New ListViewItem(kvp.Key)
lsvItem.SubItems.Add(kvp.Value)
lsvProcesos.Items.Add(lsvItem)
Next
End Sub
Private Sub cmdKillProcess_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdKillProcess.Click
If MisProcesos.ContainsKey(lsvProcesos.SelectedItems.Item(0).Text) = True Then
'Obtengo el ID del item seleccionado en el listview
Dim NumProceso As Integer = CInt(lsvProcesos.SelectedItems.Item(0).Text)
'Obtengo el proceso seleccionado por el ID
Dim Selproc As Process = Process.GetProcessById(NumProceso)
'Cierro el proceso
Selproc.Kill()
Selproc = Nothing
lsvProcesos.SelectedItems.Item(0).Remove()
MessageBox.Show("El proceso se ha cerrado!", "Aplicaciones", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub