Modifier les threads d'un processus
rogina1
Messages postés
80
Statut
Membre
-
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;
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:
- Modifier les threads d'un processus
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
- Modifier l'extension d'un fichier - Guide
- Comment modifier une story sur facebook - Guide
- Modifier un pdf gratuitement - Guide
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?
J'en reviens à ma question initiale : que souhaites-tu faire exactement ? Parce qu'à part geler ou tuer un thread...
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..