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.