SUSPENDRE/GELER UN PROCESSUS/UN THREAD

Signaler
Messages postés
140
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
11 décembre 2007
-
Messages postés
73
Date d'inscription
dimanche 14 octobre 2007
Statut
Membre
Dernière intervention
28 février 2011
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/29695-suspendre-geler-un-processus-un-thread

Messages postés
73
Date d'inscription
dimanche 14 octobre 2007
Statut
Membre
Dernière intervention
28 février 2011

Salut,

Super source. 9

>daetips : ntdll.dll n'est présente que sous XP, donc ça ne marche pas pour tous les OS Windows.

Voilà.
Messages postés
142
Date d'inscription
jeudi 10 juillet 2003
Statut
Membre
Dernière intervention
10 novembre 2007

Je sais que ce code est un peu vieux mais bon
pour geler un processus:

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 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 Const PROCESS_SUSPEND_RESUME As Long = &H800

Public Function SuspendProcess(ByVal PID As Long) As Long
Dim lProcess As Long
lProcess = OpenProcess(PROCESS_SUSPEND_RESUME, 0&, PID)
SuspendProcess = NtSuspendProcess(lProcess)
CloseHandle lProcess
End Function

Public Function ResumeProcess(ByVal PID As Long) As Long
Dim lProcess As Long
lProcess = OpenProcess(PROCESS_SUSPEND_RESUME, 0&, PID)
ResumeProcess = NtResumeProcess(lProcess)
CloseHandle lProcess
End Function
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009

Ah oui (désolé pour le multi post:()
J'ai pas encore testé la fonction qui liste les threads, dites moi si vous trouvez des fautes ou bugs.
Merci
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009

Wouhou !!!
J'ai enfin.... trouvé l'api pour récupérer la liste de tous les threads du système, et par la meme occasion la liste des threads d'un processus.
Donc voilà, j'ai mis le tout sous forme de fonction et j'ai balancé ça en haut dans la partie code.
Par contre j'ai pas mis à jour le zip, j'ai une crise de flemmagite aigue la, mais si y'en a qui en ont besoin demandez moi je le ferais.
(Pour ceux qui ont pas compris maintenant on peut geler les processus multi-threads;)

Bonne prog !
Afficher les 19 commentaires