Bonjours,
J'utilise ce code (l'indentation va pas vous plaire car il est conçus pour le voir avec fond noir m'enfin bon c'est pas le souci)
maintenant que j'ai ce qu'il me faut dans mes tableaux, je voudrais pouvoir changer la priorité d' un autre processus que le mien, de la même manière ou presque que le task manager de windows, (10).
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 void CProcess::mUpdate(){ HANDLE hProcessSnap ; HANDLE hProcess ; PROCESSENTRY32 pe32 ; DWORD dwPriorityClass ; mVectNameExe.clear () ; mVectNamePidProc.clear () ; mVectCountTread.clear () ; mVectParentProcID.clear () ; mVectPriorityProc.clear () ; // Take a snapshot of all processes in the system. hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 ); if( hProcessSnap == INVALID_HANDLE_VALUE ) { // printError( TEXT("CreateToolhelp32Snapshot (of processes)") ); cout << "Erreur CreateToolhelp32Snapshot" << endl ; } // Set the size of the structure before using it. pe32.dwSize = sizeof ( PROCESSENTRY32 ) ; if( !Process32First( hProcessSnap, &pe32 ) ) { //printError( TEXT("Process32First") ); // show cause of failure CloseHandle ( hProcessSnap ) ;// clean the snapshot object cout << "Erreur Process32First" << TEXT("Process32First") <<endl ; } do { mVectNameExe.push_back (pe32.szExeFile) ; // Retrieve the priority class. dwPriorityClass = 0 ; hProcess = OpenProcess ( PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID ) ; if( hProcess == NULL ){ printError( TEXT("OpenProcess") ); //cout << "Erreur hProcess:OpenProcess a une valeur null : " << pe32.th32ProcessID << endl ; } else { dwPriorityClass = GetPriorityClass( hProcess ) ; if( !dwPriorityClass ) { //printError( TEXT("GetPriorityClass") ); cout << "Erreur sure GetPriorityClass" << endl ; CloseHandle (hProcess) ; } } mVectNamePidProc.push_back (pe32.th32ProcessID) ; mVectCountTread.push_back (pe32.cntThreads) ; mVectParentProcID.push_back (pe32.th32ParentProcessID) ; mVectPriorityProc.push_back (pe32.pcPriClassBase) ; /* List the modules and threads associated with this process ListProcessModules( pe32.th32ProcessID ); ListProcessThreads( pe32.th32ProcessID ); */ } while( Process32Next( hProcessSnap, &pe32 ) ); CloseHandle ( hProcessSnap ) ; }
le souci c' est que je me prend
Ceci même si je lance l’exécutable en administrateur . qui sois disant sert à quelque chose...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 WARNING: OpenProcess failed with error 5 (Acc)
je me doute bien qu'avant d'aller plus loin il faut faire quelque chose pour pouvoir le faire?
merci d'avance
Partager