【发布时间】:2012-04-27 11:31:05
【问题描述】:
我们如何使用 VB.NET 2.0 框架杀死窗口中其他正在运行的进程?
【问题讨论】:
标签: vb.net
我们如何使用 VB.NET 2.0 框架杀死窗口中其他正在运行的进程?
【问题讨论】:
标签: vb.net
你只需通过 kill() 方法杀死进程。
Dim processList() As Process
processList = Process.GetProcessesByName(ListBox1.Items(ListBox1.SelectedIndex).ToString)
For Each proc As Process In processList
If MsgBox("Terminate " & proc.ProcessName & "?", MsgBoxStyle.YesNo, "Terminate?") = MsgBoxResult.Yes Then
Try
proc.Kill()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
Next
【讨论】:
杀死所有记事本实例:
Process.GetProcessesByname("Notepad").ForEach(Sub(x) x.Kill())
【讨论】:
您可以使用Process.GetProcessesByName Method获取进程名称并使用Process.Kill Method杀死它。
示例:
Process[] processes = Process.GetProcessesByName("mspaint");
foreach (Process process in processes){
process.Kill();
}
MSDN 条目:
MSDN - Process.GetProcessesByName Method
类似的 SO 问题:
How do I kill a process using Vb.NET or C#?
希望这会有所帮助。
【讨论】:
您可以使用System.Diagnostics.Process.Kill 来完成此操作。您也可以在 How do I kill a process using Vb.NET or C#? 上找到答案(C# 和 VB.NET 的答案)。
查看MSDN Page: Process.Kill() 了解更多详情。
这是一个如何使用它的代码示例(取自 MSDN):
' First find the process(es) you want to kill, for example searching for the name
Dim notepadProcesses As Process() = Process.GetProcessesByName("notepad")
' Loop over the array to kill all the processes (using the Kill method)
Array.ForEach(notepadProcesses, Sub(p As Process) p.Kill())
【讨论】:
首先创建一个 a.bat 文件并将其存储到 bin 或您的项目文件夹中
在批处理文件中写入以下行
tskill (your process name)
另存为.bat
在编码中写下一行
System.Diagnostics.Process.Start("Your bat file path")
【讨论】: