Créer une application 64bits avec Visual Studio
Bonjour à tous,
J'essaye de lister toutes les processus de ma machine, mais je n'arrive à lister que les 32b.
Ainsi si je lance mon application en 64b je devrais pouvoir lister tous les processus (32 et 64b) avec EnumProcessModulesEx.
Mais je voudrais en être sur :)
Ainsi si je peux lister tous les processus en lançant mon application en 64bits pourriez vous me donner la marche à suivre pour la lancer en 64bits ?
J'ai cherché sur MSDN et essayé ceci :
http://msdn.microsoft.com/fr-fr/libr...vs.100%29.aspx
et :
http://msdn.microsoft.com/fr-fr/libr...vs.100%29.aspx
Mais ça ne fonctionne pas :/
Voici mon code :
Code:
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
|
void processusAll()
{
// Recupere les PID de tous les processus
DWORD pid[500];
DWORD cb;
HANDLE proc;
HMODULE module;
DWORD cb1;
TCHAR procNom[256];
printf("\nProcessus 32b : \n\n");
if(EnumProcesses(pid,500,&cb)!=0)
{
for(int i=0;i<cb/sizeof(DWORD);i++)
{
//printf("%d\n",pid[i]);
// Recupere handle sur chaque processus via leur PID
proc = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,FALSE,pid[i]);
if(proc != NULL)
{
// Recupere les modules du processus. On veut ici le 1er module, qui est l'executable du processus, donc indirectement son nom.
//printf("OK pour n %d\n",pid[i]);
if(EnumProcessModulesEx(proc,&module,sizeof(module),&cb1,LIST_MODULES_ALL)!=0)
{
// Recupere le nom du 1er module
GetModuleBaseName(proc,module,procNom,256/sizeof(char));
printf("%d \t %s\n",pid[i], procNom);
CloseHandle(proc);
}
else
{
printf("Erreur3 : %ld pour n %d\n", GetLastError(),pid[i]);
}
}
else
{
printf("Erreur2 : %ld pour n %d\n", GetLastError(),pid[i]);
}
}
}
} |
OpenProcess me renvois les erreurs 87 et 5.
EnumProcessModulesEx me renvois l'erreur 299
Mon PC :
Architecture : 64 bits
CPU : Intel Core i3-380M
OS : Windows 7
Compilateur : Visual Studio C++ 2010 Express
J’espère que vous pourrez m'aider :) :ccool:
Merci d'avance,
Simon.