Modifier les threads d'un processus

rogina1 Messages postés 80 Statut Membre -  
rogina1 Messages postés 80 Statut Membre -
Bonjour,
j'ai décomposé ma question en des threads ;)
The OpenProcess function returns a handle of an existing process object.

je crois que je peux modifier les threads d'un processus, mais il me reste de savoir si cette fct est ce que je suis besoin??
HANDLE OpenProcess(

DWORD dwDesiredAccess, // access flag
BOOL bInheritHandle, // handle inheritance flag
DWORD dwProcessId // process identifier
);

"dwDesiredAccess" prend cette valeur: PROCESS_CREATE_THREAD ==>Enables using the process handle in the CreateRemoteThread function to create a thread in the process.

ou faut-il utiliser cette structure?
typedef struct tagPROCESSENTRY32 {
DWORD dwSize;
DWORD cntUsage;
DWORD th32ProcessID;
DWORD th32DefaultHeapID;
DWORD th32ModuleID;
DWORD cntThreads;
DWORD th32ParentProcessID;
LONG pcPriClassBase;
DWORD dwFlags;
char szExeFile[MAX_PATH];
} PROCESSENTRY32;

mais DWORD cntThreads donne seulement l'id du thread !!,
alors est ce que je dois utiliser cette structure?:
typedef struct tagTHREADENTRY32 {
DWORD dwSize;
DWORD cntUsage;
DWORD th32ThreadID;
DWORD th32OwnerProcessID;
LONG tpBasePri;
LONG tpDeltaPri;
DWORD dwFlags;
} THREADENTRY32,*PTHREADENTRY32,*LPTHREADENTRY32;
A voir également:

1 réponse

blux Messages postés 27992 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
Salut,

tu veux faire quoi au juste ?
0
rogina1 Messages postés 80 Statut Membre 1
 
resalut, j'ai débuté à travailler avec les threads ,j'ai Réussit à créer un thread avec la commande CreateThread
HANDLE CreateThread(

LPSECURITY_ATTRIBUTES lpThreadAttributes, // pointer to thread security attributes
DWORD dwStackSize, // initial thread stack size, in bytes
LPTHREAD_START_ROUTINE lpStartAddress, // pointer to thread function
LPVOID lpParameter, // argument for new thread
DWORD dwCreationFlags, // creation flags
LPDWORD lpThreadId // pointer to returned thread identifier
);

mais je me demande est-il possible d'accéder à un Thread qui exist déja ? et qui fait partie d'un processus?
0
blux Messages postés 27992 Date d'inscription   Statut Modérateur Dernière intervention   3 367 > rogina1 Messages postés 80 Statut Membre
 
Un thread fait forcément partie d'un processus.

J'en reviens à ma question initiale : que souhaites-tu faire exactement ? Parce qu'à part geler ou tuer un thread...
0
rogina1 Messages postés 80 Statut Membre 1 > blux Messages postés 27992 Date d'inscription   Statut Modérateur Dernière intervention  
 
Un thread fait forcément partie d'un processus


ok, je vais forcer chaque thread d'un processus à exécuter dans un cpu different; disant que j'utlise une machine multicpu s

je sais je dois utiliser la commmande DWORD SetThreadAffinityMask (

HANDLE hThread, // handle to the thread of interest
DWORD dwThreadAffinityMask // a thread affinity mask
);
mais je crois que ça ne sera valide qu'avec les threads qu'on crée et non pas avec les threads d'un procesus spécifique alors si tu as une idée comment fait ça avec les threads d'un processus tu me le dit ..
aussi s'il y a d'autres choses à faire..
0