使用 Windows GUI 关闭特定应用程序的所有副本

使用 Windows GUI 关闭特定应用程序的所有副本

当任务栏设置为“从不合并”时,有没有办法使用 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()

如果我有时间,我会用一个可滚动、可选择的列表框和一个“杀死”按钮替换所有的按钮,但我确信这足以指引你(或某人)朝那个方向前进。:)

相关内容