Dans le domaine du développement logiciel, il devient souvent nécessaire de récupérer les informations de version associées aux bibliothèques de liens dynamiques ( DLL) et programmes exécutables (EXE). En utilisant les API natives Win32 accessibles via C ou C , les développeurs peuvent acquérir en toute transparence les versions de produit et de fichier de ces entités exécutables.
La clé pour déverrouiller les informations de version réside dans l'API GetFileVersionInfo. Cette fonction puissante remplit un tampon avec les données relatives au fichier DLL ou EXE spécifié. Examinons les subtilités de son utilisation :
Le code suivant L'exemple illustre l'application pratique de l'API GetFileVersionInfo :
DWORD verHandle = 0;
UINT size = 0;
LPBYTE lpBuffer = NULL;
DWORD verSize = GetFileVersionInfoSize(szVersionFile, &verHandle);
if (verSize != NULL) {
LPSTR verData = new char[verSize];
if (GetFileVersionInfo(szVersionFile, verHandle, verSize, verData)) {
if (VerQueryValue(verData, "\\", (VOID FAR * FAR *)&lpBuffer, &size)) {
if (size) {
VS_FIXEDFILEINFO *verInfo = (VS_FIXEDFILEINFO *)lpBuffer;
if (verInfo->dwSignature == 0xfeef04bd) {
// Parse the file version into a four-part dotted string
TRACE("File Version: %d.%d.%d.%d\n",
(verInfo->dwFileVersionMS >> 16) & 0xffff,
(verInfo->dwFileVersionMS >> 0) & 0xffff,
(verInfo->dwFileVersionLS >> 16) & 0xffff,
(verInfo->dwFileVersionLS >> 0) & 0xffff
);
}
}
}
}
delete[] verData;
}
En conclusion, l'API GetFileVersionInfo fournit une solution complète pour obtenir par programmation des informations de version à partir de DLL et d'EXE. En exploitant cette fonctionnalité, les développeurs peuvent automatiser les tâches de récupération de versions, garantissant ainsi la précision et l'efficacité de leurs efforts de développement logiciel.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3