如何在C ++中获取DLL文件的版本信息

我需要获取我在Visual Studio 2008 C ++中创build的DLL文件的版本信息。 我如何得到它?

感谢您的答案。

这对我工作:

WCHAR fileName[_MAX_PATH]; DWORD size = GetmoduleeFileName(g_dllHandle, fileName, _MAX_PATH); fileName[size] = NULL; DWORD handle = 0; size = GetFileVersionInfoSize(fileName, &handle); BYTE* versionInfo = new BYTE[size]; if (!GetFileVersionInfo(fileName, handle, size, versionInfo)) { delete[] versionInfo; return; } // we have version information UINT len = 0; VS_FIXEDFILEINFO* vsfi = NULL; VerQueryValue(versionInfo, L"\\", (void**)&vsfi, &len); aVersion[0] = HIWORD(vsfi->dwFileVersionMS); aVersion[1] = LOWORD(vsfi->dwFileVersionMS); aVersion[2] = HIWORD(vsfi->dwFileVersionLS); aVersion[3] = LOWORD(vsfi->dwFileVersionLS); delete[] versionInfo; 

如果您想要编程访问,请参阅MSDN中的版本信息 ,了解您所需的API和数据结构。

看起来你需要访问VS_VERSION_INFO资源; http://www.microsoft.com/msj/0498/c0498.aspx

它应该在属性(版本选项卡),当您在Windows资源管理器中打开它