MODULVER.H
上传用户:gzfeiyu199
上传日期:2021-09-15
资源大小:68k
文件大小:2k
源码类别:

编辑框

开发平台:

Visual C++

  1. ////////////////////////////////////////////////////////////////
  2. // 1998 Microsoft Systems Journal
  3. //
  4. // If this code works, it was written by Paul DiLascia.
  5. // If not, I don't know who wrote it.
  6. //
  7. #if !defined(MODULVER_H_INCLUDED)
  8. #define MODULVER_H_INCLUDED
  9. #if _MSC_VER >= 1000
  10. #pragma once
  11. #endif // _MSC_VER >= 1000
  12. // tell linker to link with version.lib for VerQueryValue, etc.
  13. #pragma comment(linker, "/defaultlib:version.lib")
  14. #ifndef DLLVERSIONINFO
  15. // following is from shlwapi.h, in November 1997 release of the Windows SDK
  16. typedef struct _DllVersionInfo
  17. {
  18.         DWORD cbSize;
  19.         DWORD dwMajorVersion;                   // Major version
  20.         DWORD dwMinorVersion;                   // Minor version
  21.         DWORD dwBuildNumber;                    // Build number
  22.         DWORD dwPlatformID;                     // DLLVER_PLATFORM_*
  23. } DLLVERSIONINFO;
  24. // Platform IDs for DLLVERSIONINFO
  25. #define DLLVER_PLATFORM_WINDOWS         0x00000001      // Windows 95
  26. #define DLLVER_PLATFORM_NT              0x00000002      // Windows NT
  27. #endif // DLLVERSIONINFO
  28. //////////////////
  29. // CModuleVersion version info about a module.
  30. // To use:
  31. //
  32. // CModuleVersion ver
  33. // if (ver.GetFileVersionInfo("_T("mymodule))) {
  34. // // info is in ver, you can call GetValue to get variable info like
  35. // CString s = ver.GetValue(_T("CompanyName"));
  36. // }
  37. //
  38. // You can also call the static fn DllGetVersion to get DLLVERSIONINFO.
  39. //
  40. class CLASS_EXPORT CModuleVersion : public VS_FIXEDFILEINFO {
  41. protected:
  42. BYTE* m_pVersionInfo; // all version info
  43. struct TRANSLATION {
  44. WORD langID; // language ID
  45. WORD charset; // character set (code page)
  46. } m_translation;
  47. public:
  48. CModuleVersion();
  49. virtual ~CModuleVersion();
  50. BOOL GetFileVersionInfo(LPCTSTR modulename);
  51. CString GetValue(LPCTSTR lpKeyName);
  52. static BOOL DllGetVersion(LPCTSTR modulename, DLLVERSIONINFO& dvi);
  53. static int GetModuleVer(CString cs);
  54. };
  55. #endif