IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual Studio Discussion :

Créer une application 64bits avec Visual Studio


Sujet :

Visual Studio

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut 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 : 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
     
    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

    Merci d'avance,
    Simon.
    Dernière modification par sevyc64 ; 07/05/2013 à 18h12. Motif: Déplacer vers Visual Studio

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer une application web avec Builder !?
    Par marcootz dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/07/2008, 10h04
  2. Débugger une application MVC avec Zend Studio
    Par StefC30 dans le forum Zend Studio
    Réponses: 5
    Dernier message: 16/04/2008, 22h47
  3. Générer un exe d'une appli PDA avec Visual studio 2005
    Par ___jul dans le forum Windows Mobile
    Réponses: 1
    Dernier message: 17/01/2008, 22h56
  4. Développement d'une application Windows (avec visual basic)
    Par visualbasic152 dans le forum VB.NET
    Réponses: 14
    Dernier message: 24/01/2007, 17h23
  5. Réponses: 5
    Dernier message: 31/08/2006, 10h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo