Suspendre un processus depuis son pid

Contenu du snippet

Ce ptit bout de code montre comment suspendre directement un processus depuis son pid

Utilisation:

pour suspendre un process :

SuspendResumeProcess Pid, True

pour le relancer:

SuspendResumeProcess Pid, False

Source / Exemple :


Private Declare Function OpenProcess Lib "Kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function NtSuspendProcess Lib "Ntdll.dll" (ByVal hProc As Long) As Long
Private Declare Function NtResumeProcess Lib "Ntdll.dll" (ByVal hProc As Long) As Long
Private Declare Function CloseHandle Lib "Kernel32.dll" (ByVal hObject As Long) As Long
Private Const PROCESS_SUSPEND_RESUME As Long = &H800

Public Function SuspendResumeProcess(ByVal Pid As Long, ByVal Action As Boolean) As Long
    
    Dim hProcess   As Long
    
    hProcess = OpenProcess(PROCESS_SUSPEND_RESUME, 0&, Pid)
    
    If hProcess Then
        If Action Then
            SuspendResumeProcess = NtSuspendProcess(hProcess)
        Else
            SuspendResumeProcess = NtResumeProcess(hProcess)
        End If
        CloseHandle hProcess
    End If

End Function

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.