Suspendre / reprendre un thread


Propriétés du code


Date de création : 06/02/2007 à 12:40:00
0 Commentaire(s)
  MadMatt

 

Présentation


Voilà tout simplement: comment suspendre l'execution d'un thread, et comment la reprendre.

 

Code


' Pour ouvrir un thread
Public Declare Function OpenThread Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInherit As Long, ByVal dwThreadId As Long) As Long
Public Const THREAD_ALL_ACCESS = &H1F03FF

' Suspendre un thread
Public Declare Function SuspendThread Lib "kernel32" (ByVal hThread As Long) As Long
Public Declare Function ResumeThread Lib "kernel32" (ByVal hThread As Long) As Long


' Suspendre un thread
Public Function SuspendThread(ByVal ThreadID As Long)
    Dim hThread As Long
    ' Renvoie le handle du thread "ouvert" (pour agir dessus)
    hThread = OpenThread(THREAD_ALL_ACCESS, 0, ThreadID)
    ' Suspend le thread
    SuspendThread hThread
    ' Ferme le handle
    CloseHandle hThread
End Function

' Reprendre un thread (qui est suspendu)
Public Function ResumeThread(ByVal ThreadID As Long)
    Dim hThread As Long
    ' Renvoie le handle du thread "ouvert" (pour agir dessus)
    hThread = OpenThread(THREAD_ALL_ACCESS, 0, ThreadID)
    ' Reprend le thread
    ResumeThread hThread
    ' Ferme le handle
    CloseHandle hThread
End Function


 
 

Modifier le code

Seul les admins et l'auteur du code lui même peuvent modifier ce code.

 

Commentaires


Ajouter un commentaire


Vous devez être connecté pour pouvoir poster un commentaire.

 
 

Valid HTML 4.01 Transitional Valid CSS

Site web de Vb System Library version 1.3
Developpement et design réalisé par : Matthieu Napoli (MadMatt)
© 2007 Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
Temps d'execution de la page : 0.008 s
www.mnapoli.fr