Bonjour

J'ai un problème avec visual studio 2010, je créer un projet application W32 vide.

il s'exécute bien sous seven, mais sous Xp getLastError me retourne le code 5.
je ne c'est pas pourquoi mais il est impossible de faire un OpenProcess sous xp quand il est compiler avec visual studio.

alors que le même code compiler avec code blocks marche sous xp et seven.

Voila c'est ce code qui marche sous seven pas sous xp quand je le compile avec visual studio.

Et sur les deux system quand je compile avec code blocks.

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
 
#include <windows.h>
#include <tlhelp32.h>
#include <iostream>
 
using namespace std;
 
int main()
{
 
DWORD pID=0;
HANDLE hProcess = NULL, hListe = NULL;
PROCESSENTRY32 pe32;
 
 
if((hListe = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)) == INVALID_HANDLE_VALUE) 
	return 3;
 
pe32.dwSize = sizeof(PROCESSENTRY32);
Process32First(hListe, &pe32);
 
if (hListe != INVALID_HANDLE_VALUE)
	CloseHandle(hListe);
 
cout << "ID process: " <<endl;
cin >> pID;
 
hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pID); 
if(!hProcess)
{
	cout << "Echec de l'ouverture du processus\n Code Erreur: " << GetLastError() << endl;
	system("pause");
	return 0;
}
else
	cout << "Ouverture du processus reussi\n" << endl;
 
 
system("pause");
CloseHandle(hProcess);
return 1;
}