我目前在VS 2010中有以下内容
Dim myProcess() As Process = System.Diagnostics.Process.GetProcessesByName("calc")
For Each myKill As Process In myProcess
myKill.Kill()
然而,我似乎无法让它杀死多个进程。 示例我已经尝试了
("calc",mspaint")
("calc,mspaint")
("calc"),("mspaint")
有什么想法吗? 感谢您的时间/支持
答案 0 :(得分:2)
引自GetProcessByName的MSDN文档:
创建一个新的Process组件数组并将它们关联起来 所有共享指定进程的现有进程资源 名。
你不能向它传递一个参数数组。相反,你可以使用GetProcesses方法获取所有进程,遍历所有进程并检查它的名称是否与你想要的名称相匹配: / p>
Dim procs = System.Diagnostics.Process.GetProcesses().Where((Function(p) p.ProcessName = "calc" Or p.ProcessName = "mspaint"))
For Each p As Process In procs
p.Kill()
Next
非LINQ方式:
For Each p As Process In Process.GetProcesses()
If p.ProcessName = "calc" Or p.ProcessName = "mspaint" Then
p.Kill()
End If
Next