Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

3 commentaire(s) de bib34690 sur des sources sur delphifr

Le : 19/09/2005 16:51:36
Source : LECTURE DU NUMÉRO DE VERSION DE L'APPLICATION
Voila mon nouveau code :
Function LectureVersion(FileName:String):String;

Var
  Handle   : DWord;
  Info     : Pointer;
  InfoData : Pointer;
  InfoSize : LongInt;
  DataLen  : UInt;
  LangPtr  : Pointer;
  InfoType : string;

Begin
  Result:='';
  //--- On demande la taille necessaire pour stocker les infos
  InfoSize:= GetFileVersionInfoSize(PChar(FileName), Handle);
  If (InfoSize>0) Then begin
    //--- Réservation en mémoire d'une zone de la taille voulue ---
    GetMem(Info, InfoSize);
    try
      //--- Copie dans le buffer des informations ---
      InfoType:='FileVersion';
      if GetFileVersionInfo(PChar(FileName), Handle, InfoSize, Info) then begin
         if VerQueryValue(Info,'\VarFileInfo\Translation',LangPtr, DataLen) then
            InfoType:=Format('\StringFileInfo\%0.4x%0.4x\%s'#0,[LoWord(LongInt(LangPtr^)),
                                         HiWord(LongInt(LangPtr^)), InfoType]);
         if VerQueryValue(Info,PChar(InfoType),InfoData,Datalen) then
             Result:=strPas(InfoData);
      end;
    Finally
      FreeMem(Info, InfoSize);
    End;
  End;
End;

Merci au forim developpez.com ou j'ai trouvé la solution que j'ai adaptée au code ci-dessus.


Le : 19/09/2005 16:47:44
Source : LECTURE DU NUMÉRO DE VERSION DE L'APPLICATION
ça marche avec n'importe quel prog. si on remplace S par File Info passé en param.

... j'ai entretemps trouvé la solution que je publierai dès que j'aurais fini de la tester...c'est un problème de langue...
le code ci-dessus ne marche que si le programme est de type "Français"
Winword et Excel sont compilés avec pour langue "langue neutre" ???...sacré bilou !
Il faut donc "trasncrire" 'FileVersion' en fonction de la langue du fichier.
@ + pour la soluce.


Le : 19/09/2005 12:31:29
Source : LECTURE DU NUMÉRO DE VERSION DE L'APPLICATION
Bonjour,

Il semble que ce code ne marche pas pour certains EXE, comme Winword.exe ou Excel.exe, alors que ces informations sont visibles si on fait un clic droit sur le fichier.
quelqu'un aurait-il une soluce ?
Merci.





Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Appels d'offres



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,062 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.