MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 2009
-
10 mai 2007 à 16:16
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 2009
-
10 mai 2007 à 19:49
Bonjour à tous,
Je suis à la recherche depuis peu d'une petite infos auquel je ne trouve pas de solution (difficile d'y nommer).
J'aimerais récupérer le pointeur de l'execution d'un thread en fait, c'est à dire l'adresse mémoire de la prochaine instruction du thread qui sera executée.
Avant, normalement , je suspendrait le thread avant de récupérer cette valeur, afin qu'elle ne change pas une fois que je l'ai récupérée.
Voilà, je ne sais pas si ça existe ce que je cherche lol, mais de ce que je connais de l'execution des threads ça devrait exister non ?
Si vous avez des infos merci beaucoup ;)
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 10 mai 2007 à 19:49
Merci c'est pile poil ce que je voulais.
Bien (déjà par curiosité), mais aussi je comptais essayer de faire un petit manipulateur de processus :
-stopper un processus
-enregistrer son état en mémoire dans un fichier
puis pouvoir le recharger en mémoire tel quel, et repartir la où il s'était arreté.
C'est vrai que je sais pas si en VB c'est bien possible, mais j'aimerais bien essayer, déjà pour en savoir un peu plus sur windows et sa structure. Pense tu que c'est faisable ? A la limite je peux faire une DLL en C pour les parties qui seraient les plus délicates en VB.
Pour la déclaration du contexte d'un thread, MSDN était muette (apparement ça dépend du processeur), j'ai trouvé ça sur une source d'EB :
' Contexte d'un thread
Public Type CONTEXT
ContextFlags As Long
Dr0 As Long
Dr1 As Long
Dr2 As Long
Dr3 As Long
Dr6 As Long
Dr7 As Long
FloatSave As FLOATING_SAVE_AREA
SegGs As Long
SegFs As Long
SegEs As Long
SegDs As Long
Edi As Long
Esi As Long
Ebx As Long
Edx As Long
Ecx As Long
Eax As Long
Ebp As Long
Eip As Long
SegCs As Long
EFlags As Long
Esp As Long
SegSs As Long
ExtendedRegisters(MAXIMUM_SUPPORTED_EXTENSION - 1) As Byte
End Type