Maison >développement back-end >C++ >Comment obtenir par programme la version d'un fichier DLL ou EXE en C/C ?

Comment obtenir par programme la version d'un fichier DLL ou EXE en C/C ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-30 19:57:021033parcourir

How to Programmatically Get the Version of a DLL or EXE File in C/C  ?

Comment obtenir la version d'un fichier DLL ou EXE par programme

Obtenir les versions de produit et de fichier d'un fichier DLL ou EXE est un aspect crucial du développement de logiciels. Pour accomplir cela en C ou C à l'aide des API natives Win32, suivez ces étapes :

  1. Utilisez l'API GetFileVersionInfo :

    Cette fonction permet d'accéder à informations de version associées au fichier spécifié.

  2. Exemple d'implémentation :

    Le code suivant montre comment utiliser l'API GetFileVersionInfo pour récupérer les numéros de version :

    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)
                    {
                        // DWORD is always 32 bits, so first two revision numbers
                        // come from dwFileVersionMS, last two come from dwFileVersionLS
                        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 tirant parti de l'API GetFileVersionInfo, vous pouvez récupérer efficacement les informations de version des fichiers DLL ou EXE, vous permettant ainsi d'effectuer une vérification de version et d'autres tâches connexes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn