1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| ' ----------------------------------------------------------------------------------------------
'
' Kill all running instances of an application.
'
' For instance : Call KillProcess("MSACCESS.EXE")
'
' ----------------------------------------------------------------------------------------------
Public Sub KillProcess(ByVal sProcessName As String)
Dim sComputer As String
Dim objWMIService, colProcessList, objProcess As Object
On Error Resume Next
sComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = '" & sProcessName & "'")
For Each objProcess In colProcessList
Call objProcess.Terminate
DoEvents
Next
DoEvents
Set objProcess = Nothing
Set colProcessList = Nothing
Set objWMIService = Nothing
On Error GoTo 0
End Sub |
Partager