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

  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

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 575
    Points
    41 575
    Par défaut
    J'ai du mal à comprendre la question:
    • Est-ce que tu n'arrives pas à compiler et exécuter ton code en 64 bits?
    • Ou est-ce que tu as les mêmes problèmes en 64 bits qu'en 32? Auquel cas, es-tu sûr de tourner en 64 bits (sizeof(void*)==8)?

    Je ne sais pas si les versions Express de Visual 2010 permettent de faire du 64 bits. Il me semble que sous 2005 ce n'était pas le cas mais bcp d'eau a coulé sous les ponts depuis, le 64 bits s'est démocratisé...

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut,

    Merci de ta réponse

    Est-ce que tu n'arrives pas à compiler et exécuter ton code en 64 bits?
    Oui voilà c'est ça, mon application ce lance en 32b et je voudrais qu'elle ce lance en 64b.


    Ou est-ce que tu as les mêmes problèmes en 64 bits qu'en 32? Auquel cas, es-tu sûr de tourner en 64 bits (sizeof(void*)==8)?
    J'ai un système 64bits mais mon application ce lance en 32b car (sizeof(void*)=4.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour à tous,

    J'ai formaté mon PC entre temps (pour d'autre raisons que mon problème avec VS), j'ai installé Visua Studio Express 2012 et je peux exécuter en 34bits.

    Il faut pour cela simplement appliquer ceci : http://msdn.microsoft.com/fr-fr/libr...vs.100%29.aspx

    Merci

+ 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