Bonjour,

Ma question est simple; je souhaiterais pouvoir récupérer l'utilisation CPU d'un processus donné (en % si possible, comme dans le gestionnaire des taches windows ou process explorer).
Le code suivant peut sans doute servir de base; il parcours les processus et tue celui dont le nom correspond à la variable appname (fourni en paramètre d'une fonction).

Quelqu'un à t-il une idée de la manière dont je pourrais récupérer la charge CPU associé à un processus donné ? (par son PID ou par son nom).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
       //Find process
	HANDLE hSnapShot;
	PROCESSENTRY32 uProcess;
	int result;
 
	hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
	uProcess.dwSize = (DWORD) sizeof(PROCESSENTRY32);
 
	result = Process32First(hSnapShot, &uProcess);
 
	// Scan all process , while appname not found.
	while(result){
		// search for our application name.
		if ( !strcmp(uProcess.szExeFile, appname.c_str()) ) {
			hSnapShot = OpenProcess(PROCESS_TERMINATE,FALSE,                    uProcess.th32ProcessID);
			if(hSnapShot != NULL) {
				TerminateProcess(hSnapShot, 0);
				hSnapShot = CreateToolhelp32Snapshot(2,0);
			}
		}
		result = Process32Next(hSnapShot, &uProcess);
	}
	CloseHandle(hSnapShot);
Merci d'avance.