2

Есть ли способ использовать графический интерфейс Windows (а не командную строку), чтобы закрыть все копии определенного работающего приложения, когда на панели задач установлено значение "Никогда не объединять"?

Чем меньше кликов и / или нажатий клавиш, тем лучше. (Например, одним из решений было бы по отдельности закрыть каждое окно приложения, но более быстрый способ сделать это - то, что мне нужно.)

Я использую Windows 8.1, но мне были бы интересны ответы, применимые к любой последней версии Windows.

1 ответ1

2

Вот сценарий 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()

Если бы у меня было время, я бы заменил все кнопки прокручиваемым списком с возможностью выбора и одной кнопкой "Убить", но этого должно быть достаточно, чтобы, я уверен, указать вам (или кому-то) в этом направлении. :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .