C/C++ API Windows: Version d'un exécutable

C/C++ API Windows: Version d'un exécutable - Programmation

Marsh Posté le 13-12-2001 à 07:24:05    

Y a t il une fonction de l'API windows qui permet de choper le numero de version d'un executable ou bien faut il que j'aille me le chercher moi même en lisant le fichier binairement comme une brute?

Reply

Marsh Posté le 13-12-2001 à 07:24:05   

Reply

Marsh Posté le 13-12-2001 à 12:35:40    

Y a GetFileVersionInfo et apparentée.
The GetFileVersionInfo function returns version information about a specified file.  
 
As with other file installation functions, GetFileVersionInfo works only with Win32 file images. It does not work with 16-bit Windows file images. Etc......
 
Mais cela n'est possible (me semble-t-il) que si le développeur/codeur/.. a mis la structure adhoc dans le fichier .RC (c'est ce que je fais dans mes DLL (16 bits)).
 
Du style  
#define VERSIONINFO_1 1
VERSIONINFO_1 VERSIONINFO  
FILEVERSION 1, 0, 0, 0
PRODUCTVERSION 1, 0, 0, 0
FILEOS VOS_DOS_WINDOWS16
FILETYPE VFT_APP
{
 BLOCK "StringFileInfo"
 {
  BLOCK "040904E4"
  {
   VALUE "CompanyName", "Carbon_14\000\000"
   VALUE "FileDescription", "Module affichage rapide\000"
   VALUE "FileVersion", "1.00\000\000"
   VALUE "InternalName", "FORMAFF\000"
   VALUE "LegalCopyright", "bidule\000\000"
   VALUE "OriginalFilename", "FORMAFF.DLL\000"
  }
 }
 BLOCK "VarFileInfo"
 {
  VALUE "Translation", 0x409, 1252
 }
}
 :) En 32 bits, doit y avoir qq chose d'analogue.. :D  
 
Si c'est la boîte de dialogue machin du menu truc qui affiche : version 3.11, pas évident...

Reply

Marsh Posté le 13-12-2001 à 16:11:58    

ok merci.
 
J'avais déjà essayé avec cette fonction mais ça marchait pas trop, je vais mereplonger dans la doc ;)

Reply

Marsh Posté le 13-12-2001 à 16:20:46    

Pour qu'elle "marche", ou de ses homologues, je pense qu'il faut que le click droit/Propriétés au niveau explorateur de fichiers donne un numéro de version (ou Alt+Entrée en 16 bits) ! Sinon, on peut toujours chercher si c'est codé qq part...

Reply

Marsh Posté le 13-12-2001 à 16:36:06    

Justement ça ça marche sur mon apli(c fait automatiquement par le compilo) faut donc juste que j'arrive à utiliser correctement la fonction (au fait je confirme y a une version 32 bits ;) )

Reply

Marsh Posté le 13-12-2001 à 17:08:27    

comment on peux encore coder en 16 bits? :??:


---------------
What butter and whiskey won't cure, there is no cure for.
Reply

Marsh Posté le 14-12-2001 à 09:51:17    

Le 16 bits : par intérêt pratique. J'ai écrit un truc sous DOS l'autre jour pour lire deux ports d'une vieille carte conv Analogique/Digitale pour mettre sur une manip laser. Pas besoin d'un PC moderne pour faire une mesure par seconde !!
 
Mais je pense qu'il vaut mieux écrire du 32 bits quand on est jeune et qu'on commence, sinon, ça fait historien :D.  
J'ai connu les bandes perforées et les cartes quand j'étais étudiant...
Je fais quand même des efforts de "portage" 32 bits pour les OS modernes :)  :).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed