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

C++ Discussion :

Petit problème de .h


Sujet :

C++

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 78
    Points : 46
    Points
    46
    Par défaut Petit problème de .h
    Bonjour je n'arrive pas à trouver le bon .h pour que mon code fonctionne même après plusieurs recherches sur google je ne trouve pas. C'est peut être un autre problème, j'aimerai votre avis.

    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
    #include "stdafx.h"
    #include <iostream>
    #include <string>
     
    using namespace std;
     
    void GetFileVersion_(string path) {
     
        // Get the file version for the notepad.
        FileVersionInfo* myFileVersionInfo = FileVersionInfo::GetVersionInfo(path);
     
    	// Print the file name and version number.
    	printf("version number : %s", myFileVersionInfo);
     }
     
    int _tmain(int argc, _TCHAR* argv[])
    {
    	string pathFile = "%systemroot%\\Notepad.exe";
     
    	GetFileVersion_(pathFile);
    	return 0;
    }
    C'est au niveau du "FileVersionInfo* myFileVersionInfo" que VS 2010 me dit : "error: identificateur "FileVersionInfo" non défini".
    Et le "FileVersionInfo::" ça me sort: "error un nom suivi de :: doit être un nom de classe ou d'espace de noms".

    Merci pour votre aide

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    1 255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 255
    Points : 2 627
    Points
    2 627
    Par défaut
    Salut,

    je n'arrive pas à trouver le bon .h
    Es-tu sûre qu'il existe ?

    Si tu t'inspires de l'API .NET pour faire du C++, c'est clair tu vas avoir un souci.

    Regarde cet article, ça peut t'aider.

  3. #3
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Est-tu allé voir de ce coté:
    http://msdn.microsoft.com/en-us/libr...oninfo.aspx#Y0


    Autrement je ne pense pas que printf("....%s",..) sur une classe soit tres correct
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	printf("version number : %s", myFileVersionInfo);
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par mala92 Voir le message
    Salut,
    Es-tu sûre qu'il existe ?
    Non je ne suis pas sur vu que j'ai jamais utilisé de "FileVersionInfo" je met dis que par rapport à l'erreur que me retourne mon compilateur il doit manquer un.h

    Après je suis allé sur le lien que tu m'as laissé mais je n'ai pas trouvé ce que je voulais.

    Citation Envoyé par jabbounet
    Oui je suis déjà allé voir sur ce lien, mais ça ne m'a pas aidé plus que ça...

    Merci pour vos réponses

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    1 255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 255
    Points : 2 627
    Points
    2 627
    Par défaut
    Citation Envoyé par jabbounet Voir le message
    Euh ... C'est du C++.NET pas du C++.

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par mala92 Voir le message
    Euh ... C'est du C++.NET pas du C++.
    donc je ne peux pas me servir de FileVersionInfo ?

  7. #7
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Euh ... C'est du C++.NET pas du C++.
    Exact, pour l'utiliser il faut passer par C++/CLI par exemple ou la CLR hosting api.


    Ceci dit il est possible d'appeler des méthodes d'une dll en C# depuis du c++
    http://stackoverflow.com/questions/7...l-from-a-c-dll

    Après faut faire la lib qui vas bien ou savoir ou se trouve ce que l'on souhaite appeler dans ce bazard, sans compter la gestion mémoire....
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  8. #8
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    autrement il y'a ici ou cela est plus du C++

    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
    #include <windows.h>
    #include <tchar.h>
    #include <iostream>
     
    int main()
    {
        DWORD dummy;
        DWORD fvisLen = GetFileVersionInfoSize("c:\\WINDOWS\\NOTEPAD.EXE", &dummy);
        if (fvisLen > 0)
        {
          void *data = malloc(fvisLen);
     
          GetFileVersionInfo("c:\\WINDOWS\\NOTEPAD.EXE", dummy, fvisLen, data);
     
          VS_FIXEDFILEINFO *rootBlockData;
          unsigned int rootBlockSize;
          VerQueryValue(data, TEXT("\\"), (void**)&rootBlockData, &rootBlockSize);
     
          std::cout << std::hex << rootBlockData->dwSignature << std::endl; // On affiche normalement FEEF04BD
     
          free(data);
        }
        else
        {
            DWORD errCode = GetLastError();
            if (errCode == 0x00000715)
                std::cout << "Pas d'infos de version dispos pour c:\\WINDOWS\\NOTEPAD.EXE !" << std::endl;
        }
     
    return 0;
    }
    j'ai testé avec g++, ne pas oublier de linker avec la lib version ...
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  9. #9
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    malloc/free en c++ ??

    Et les vecteurs ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
          std::vector<unsigned char> data(fvisLen);
     
          GetFileVersionInfo(L"c:\\WINDOWS\\NOTEPAD.EXE", dummy, fvisLen, &data[0]);
     
          VS_FIXEDFILEINFO *rootBlockData;
          unsigned int rootBlockSize;
          VerQueryValue(&data[0], TEXT("\\"), (void**)&rootBlockData, &rootBlockSize);
     
          std::cout << std::hex << rootBlockData->dwSignature << std::endl; // On affiche normalement FEEF04BD

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 78
    Points : 46
    Points
    46
    Par défaut
    Merci pour votre aide ça ma permis de bien avancer

  11. #11
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Salut,
    malloc/free en c++ ??

    Et les vecteurs ?
    Exact, cependant c'est tiré d'un autre forum (qt) ou j'ai simplifié le code....
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

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

Discussions similaires

  1. un petit problème d'algo
    Par supertramp dans le forum Algorithmes et structures de données
    Réponses: 22
    Dernier message: 12/10/2004, 20h13
  2. Petit problème de décimales !
    Par ridan dans le forum Langage SQL
    Réponses: 5
    Dernier message: 11/09/2004, 21h24
  3. Réponses: 17
    Dernier message: 13/07/2004, 20h37
  4. petit problème premier plan, arrière plan
    Par gros bob dans le forum OpenGL
    Réponses: 4
    Dernier message: 19/04/2004, 12h00
  5. [jointure] Petit problème sur le type de jointure...
    Par SteelBox dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/02/2004, 18h55

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