Chiudi tutte le copie di una particolare applicazione utilizzando la GUI di Windows


2

Esiste un modo per utilizzare la GUI di Windows (non la riga di comando) per chiudere tutte le copie di una particolare applicazione in esecuzione, quando la barra delle applicazioni è impostata su "Non combinare mai"?

Meno clic e / o sequenze di tasti, meglio è. (Ad esempio, una soluzione sarebbe quella di chiudere individualmente ogni finestra dell'applicazione, ma un modo più rapido per farlo è quello che sto cercando.)

Sto eseguendo Windows 8.1, ma sarei interessato a risposte applicabili a qualsiasi versione recente di Windows.


Il Task Manager non fa quello che vuoi?
Ramhound,

@Ramhound Non ci credo. Ad esempio, se ho 5 istanze di notepad.exe in esecuzione e voglio chiuderle tutte, se uso Task Manager per uccidere una di quelle applicazioni e / o processi, le altre 4 rimangono aperte. Mi piacerebbe avere un modo per chiudere tutti e 5 contemporaneamente.
Jon Schneider,


1
Prima di dire "Risposte su quel discorso duplicato sulla riga di comando quando voglio la GUI": a) è la stessa domanda (anche se non ti piacciono le risposte) eb) la risposta accettata suggerisce di creare un collegamento a eseguire un comando, quindi trasformarlo in un elemento GUI selezionabile (un collegamento). :)
Ƭᴇcʜιᴇ007

1
@ techie007 (e gli utenti che stanno votando per chiuderlo), questa domanda è diversa in quanto richiede un metodo per chiudere istanze di qualsiasi applicazione Windows arbitraria (non necessariamente conosciuta in precedenza) - non sempre notepad.exe (o qualche altro specifico applicazione che può essere codificata in un collegamento) come nella domanda collegata.
Jon Schneider,

Risposte:


2

Ecco uno script di PowerShell con cui puoi giocare.

Attualmente crea un modulo con un pulsante per ciascun nome di processo attivo.

Fare clic sul pulsante desiderato e tutti i processi con quel nome verranno eliminati.

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()

Se avessi tempo, sostituirei tutti i pulsanti con una casella di riepilogo selezionabile e selezionabile e un singolo pulsante "Kill", ma questo dovrebbe essere sufficiente per indirizzare te (o qualcuno) in quella direzione. :)


Bello! Ho provato questo e funziona benissimo sul mio sistema Windows 8.1, anche se con le limitazioni a cui hai accennato, come la mancanza di una barra di scorrimento per scorrere il lungo elenco di processi.
Jon Schneider,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.