要處理程序請參考 Process 類別 (System.Diagnostics.Process) ,所有 Get 開頭的方法,選你要的。
------------------------------------------------------------------------------
Public Class Form1
Dim p As Process
Dim processes() As Process
'列出處理程序
Private Sub ShowProcess()
Dim AddProcessItem As ListViewItem
ListView1.Items.Clear()
processes = Process.GetProcesses
For Each p In processes
AddProcessItem = ListView1.Items.Add(p.MainWindowTitle)
AddProcessItem.SubItems.Add(p.ProcessName)
AddProcessItem.SubItems.Add(p.Id.ToString)
Next
End Sub
Private Sub btnProcess_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProcess.Click
ShowProcess()
End Sub
'關閉處理程序
Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
Try
Dim processID As Integer = System.Convert.ToInt32(ListView1.SelectedItems(0).SubItems(2).Text)
Dim p As Process = Process.GetProcessById(processID)
p.Kill()
p.WaitForExit()
ShowProcess()
Catch ex As System.NullReferenceException
MessageBox.Show(ex.Message)
ShowProcess()
End Try
End Sub
----------------------------------------------------------------
要處理程序請參考 Process 類別
視窗標題無法使用 Process 類別直接取得。
要處理其他視窗標題的,都需要呼叫 API ,比如說 FindWindow 、EnumWindow 等,再由 hWnd 取的 ProcessId 對應到 Process 。
你已知什麼?欲求什麼請明確說明。
註:檔案總管比較特別,跟 IE 都是繼承 InternetExplorer Object ,所以可以直接從 Shell.Application 取得目前所有開啟中的 File Explorer 跟 Internet Explorer ,進而取得 Url 或其他資訊。
---------------------------------------------------------------------
Dim allProcess As Process() = Process.GetProcesses