请教一下,如何取得一个DLL的版本信息。

解决方案 »

  1.   

    示例代码如下:
    HMODULE hModule = LoadLibrary(pszDllName);
    if(hModule == NULL)
    {
    continue;
    } DLLGETVERSIONPROC GetDllVersion = 
    (DLLGETVERSIONPROC)GetProcAddress(hModule, "DllGetVersion");
    if(GetDllVersion == NULL)
    {
    FreeLibrary(hModule);
    CloseHandle(hModule);
    continue;
    } DLLVERSIONINFO dvi;
    dvi.cbSize = sizeof(DLLVERSIONINFO);
    HRESULT hr = GetDllVersion(&dvi);
    if(FAILED(hr))
    {
    FreeLibrary(hModule);
    continue;
    } strVersion.Format(_T("%s\n%d.%d.%d"),
    pszDllName,
    dvi.dwMajorVersion,
    dvi.dwMinorVersion,
    dvi.dwBuildNumber
    );
    if(dvi.dwPlatformID == DLLVER_PLATFORM_NT)
    {
    strVersion += _T("\n平台ID: NT");
    }
    else if(dvi.dwPlatformID == DLLVER_PLATFORM_WINDOWS)
    {
    strVersion += _T("\n平台ID: All Widows lpatforms");
    }
    else
    {
    strVersion += _T("\n平台ID: Not specified");
    } FreeLibrary(hModule);
      

  2.   

    Determining the version number of a DLL or Executable
    http://www.codeproject.com/dll/dllversion.asp