当任务栏设置为“从不合并”时,有没有办法使用 Windows GUI(而不是命令行)关闭特定正在运行的应用程序的所有副本?
点击次数和/或按键次数越少越好。(例如,一种解决方案是单独关闭每个应用程序窗口,但我追求的是更快捷的方法。)
我正在运行 Windows 8.1,但我对适用于任何最新版本的 Windows 的答案感兴趣。
答案1
这是一个您可以使用的 PowerShell 脚本。
目前,它会创建一个表单,其中每个活动进程名称都有一个按钮。
单击所需按钮,所有具有该名称的进程都将被终止。
Add-Type -AssemblyName System.Windows.Forms
$Processes = Get-Process | Select-Object Name -Unique
$Form = New-Object system.Windows.Forms.Form
$Form.Text = "Multi-Process Killer"
function KillProcs($ProcName) {
Stop-Process -processname $ProcName
$Form.Close()
}
for($x=0; $x -lt $Processes.Count-1; $x++){
$Btn = New-Object System.Windows.Forms.Button
$BtnSize = ($x*24)+4;
$Btn.Location = New-Object System.Drawing.Size(10, $BtnSize)
$Btn.Text = $Processes[$x].Name
$Btn.Name = "btnKillProc$x"
$Btn.Size = New-Object System.Drawing.Size(200, 24)
$Btn.TabIndex=$x
$Btn.Add_Click({ KillProcs($this.Text) })
$Form.Controls.Add($Btn)
}
$Form.ShowDialog()
如果我有时间,我会用一个可滚动、可选择的列表框和一个“杀死”按钮替换所有的按钮,但我确信这足以指引你(或某人)朝那个方向前进。:)