Windows-Prozesse auslesen und beenden

Per VBA lassen sich sämtliche laufenden Windows-Prozesse auslesen und gezielt beenden. 

Der folgende VBA-Code liest alle Windows-Prozesse aus und trägt diese in Spalte A ab Zeile 1 nacheinander in das aktuelle Tabellenblatt ein. Es werden sowohl alle internen Systemprozesse ausgelesen, als auch die Prozesse der ausgeführten Anwendungsprogramme.

Erfassen Sie dazu den VBA-Code in einem Code-Modul.

Sub Prozesse_auflisten()
'** Alle Prozesse ab Zelle A1 auflisten
'** Vorgaben definieren
Set objWindowsService = GetObject("winmgmts:" _
 & "{impersonationLevel=impersonate}!\\.\root\cimv2")
 
'** Abfrage der aktiven Prozesse
Set colProcessList = objWindowsService.ExecQuery _
 ("SELECT * FROM Win32_Process")
 
'** Selektierte Prozessliste durchlaufen
For Each objProcess In colProcessList
 a = a + 1 'Zeilenzähler
 Cells(a, 1).Value = objProcess.Name 'Ausgabe
Next objProcess
End Sub

 

Wenn Sie einen einzelnen Windows-Prozess beenden möchten, müssen Sie den Namen des Windows-Prozesses kennen. Diesen erhalten Sie über die vorgenannte Prozedur.

Mit folgendem Code wird ein Windows-Prozess, z. B. ein Anwendungsprogramm gezielt beendet.

Sub Windowsprozess_beenden()
'** Definierten Prozess beenden
'** Vorgaben definieren
Set objWindowsService = GetObject("winmgmts:" _
 & "{impersonationLevel=impersonate}!\\.\root\cimv2")
 
'** Abfrage der aktiven Prozesse
Set ProcessList = objWindowsService.ExecQuery _
 ("SELECT * FROM Win32_Process WHERE Name = 'winword.exe'")
'** Selektierte Prozessliste durchlaufen
For Each objProcess In ProcessList
 objProcess.Terminate 'Prozess beenden
Next objProcess
End Sub

Im  Beispiel wird Microsoft Word über den Prozessnamen "winword.exe" beendet, siehe Zeile 9 des VBA-Codes:

Set ProcessList = objWindowsService.ExecQuery _
("SELECT * FROM Win32_Process WHERE Name = 'winword.exe'")

Wenn Sie einen anderen Prozess beenden möchten, dann ändern Sie den im Beispiel verwenden Prozess-Namen 'winword.exe' entsprechend.

Achtung:

Mit Hilfe dieser Prozedur lassen sich auch Systemprozesse beenden, wodurch es sogar zu Abstürzen des Betriebssystems kommen kann. Achten Sie also bitte darauf, dass Sie nur Prozesse beenden, von denen Sie auch wissen, mit welche Auswirkungen zu rechnen ist.