Bonjour,
Comment fait-on pour récupérer la version d'un module DLL ?
Mon application devra fonctionner sous tous les OS de type Windows.
Merci pour votre aide.
Version imprimable
Bonjour,
Comment fait-on pour récupérer la version d'un module DLL ?
Mon application devra fonctionner sous tous les OS de type Windows.
Merci pour votre aide.
Bonjour,
Normalement tu as ces infos dans les propriétés non ?
OUI c'est sûr :ccool: mais mon programme ne peut pas faire "clic-droit" sur le fichier et ensuite afficher la version.
Le but es que mon programme me retourne la version de tel ou tel module.
Il ne doit pas y avoir intervention humaine.:mrgreen:
DLL ou pas DLL :
Il faut se lier avec version.lib (libversion.a en environnement gcc, mingw, etc.).Code:
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 #include <stdio.h> #include <windows.h> int main() { char lpszFilePath[260], *lpVersionInfo; DWORD dwVersionInfoSize; printf("Choisissez un fichier : "); scanf("%259[^\n]", lpszFilePath); dwVersionInfoSize = GetFileVersionInfoSize(lpszFilePath, NULL); lpVersionInfo = malloc(dwVersionInfoSize); if (!GetFileVersionInfo(lpszFilePath, 0, dwVersionInfoSize, lpVersionInfo)) fprintf(stderr, "La fonction GetFileVersionInfo a echoue.\n"); else { VS_FIXEDFILEINFO *lpFixedFileInfo; UINT uLen; if (!VerQueryValue(lpVersionInfo, "\\", (LPVOID *)&lpFixedFileInfo, &uLen)) fprintf(stderr, "La fonction VerQueryValue a echoue.\n"); else { int a = HIWORD(lpFixedFileInfo->dwFileVersionMS); int b = LOWORD(lpFixedFileInfo->dwFileVersionMS); int c = HIWORD(lpFixedFileInfo->dwFileVersionLS); int d = LOWORD(lpFixedFileInfo->dwFileVersionLS); printf("La version de ce fichier est : %d.%d.%d.%d\n", a, b, c, d); } } free(lpVersionInfo); return 0; }
Pour les DLLs spécifiquement, il y a aussi l'option DllGetVersion mais je ne recommande pas cette voie.
Bonsoir,
Voilà c'est dans ce sens là que je voulais le dire, mais je ne connaissais pas le nom de la fonction.
Plus d'info sur la ressource Version : PatchVer, un programme de mise à jour des informations de version
Merci pour vos différentes réponse.
En fait j'ai fini par trouver en utilisant un outil spécifique qui permet de retourner toutes ces infos dans un fichier texte. Ce qui me va très bien pour ce que je veux. Ceci m'a permis aussi d'alléger mon programme et donc aussi à le simplifier un peu.
Merci à vous.
Sinon RAM-0000 J'avais bien vu ton programme mais je ne comprends pas trop comment il fonctionne, de plus celui-ci permet de mettre à jour les infos mais ce que je cherchais c'était juste les récupérer dans un fichier log.
:ccool:
OK
Je n'avais pas bien compris son fonctionnement.
Les infos peuvent être retournées dans un fichier LOG ? etc...
OK je vois, mais en fait ce que je cherchais c'était en code C et non exécuter une appli en ligne de commande. ;)