Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Const PROCESS_QUERY_INFORMATION As Long = &H400
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
Private Const STILL_ACTIVE = &H103
Public Function IsProcessRunning(ByVal pid As Long) As Boolean
Dim hProcess As Long
Dim lngExit As Long
If pid = 0 Then IsProcessRunning = True: Exit Function
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 0&, pid)
If hProcess = 0 Then Exit Function
GetExitCodeProcess hProcess, lngExit
CloseHandle hProcess
If lngExit = STILL_ACTIVE Then IsProcessRunning = True
End Function
Seul les admins et l'auteur du code lui même peuvent modifier ce code.