如何以编程方式获取 DLL 或 EXE 文件的版本
获取 DLL 或 EXE 文件的产品和文件版本是软件开发的一个重要方面。要使用 Win32 本机 API 在 C 或 C 中完成此操作,请按照以下步骤操作:
利用 GetFileVersionInfo API:
此函数提供对与指定文件关联的版本信息。
示例实现:
以下代码演示如何使用 GetFileVersionInfo API 检索版本号:
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; }
通过利用 GetFileVersionInfo API,您可以有效地检索 DLL 或 EXE 文件的版本信息,使您能够执行版本检查和其他相关任务。
以上是如何在 C/C 中以编程方式获取 DLL 或 EXE 文件的版本?的详细内容。更多信息请关注PHP中文网其他相关文章!