Heim >Backend-Entwicklung >C++ >Wie erhalte ich programmgesteuert die Version einer DLL- oder EXE-Datei in C/C?
So erhalten Sie die Version einer DLL- oder EXE-Datei programmgesteuert
Das Abrufen der Produkt- und Dateiversionen einer DLL- oder EXE-Datei ist eine entscheidender Aspekt der Softwareentwicklung. Um dies in C oder C mit nativen Win32-APIs zu erreichen, befolgen Sie diese Schritte:
Verwenden Sie die GetFileVersionInfo-API:
Diese Funktion bietet Zugriff auf Versionsinformationen, die mit der angegebenen Datei verknüpft sind.
Beispiel Implementierung:
Der folgende Code zeigt, wie die GetFileVersionInfo-API zum Abrufen der Versionsnummern verwendet wird:
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; }
Durch die Nutzung der GetFileVersionInfo-API können Sie dies tun Rufen Sie effektiv die Versionsinformationen von DLL- oder EXE-Dateien ab, sodass Sie Versionsprüfungen und andere damit verbundene Aufgaben durchführen können.
Das obige ist der detaillierte Inhalt vonWie erhalte ich programmgesteuert die Version einer DLL- oder EXE-Datei in C/C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!