FileVersion.hpp 856 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #pragma once
  2. #include <string>
  3. //-----------------------------------------------------------------------------
  4. // FileVersion
  5. //-----------------------------------------------------------------------------
  6. class FileVersion
  7. {
  8. public:
  9. FileVersion ();
  10. FileVersion (const char* lpszFileName);
  11. virtual ~FileVersion ();
  12. bool Open (const char* lpszFileName);
  13. void Close (void);
  14. bool IsValid () const;
  15. uint16_t GetVersionMajor () const;
  16. uint16_t GetVersionMinor () const;
  17. uint16_t GetVersionBuild () const;
  18. uint16_t GetVersionRevision () const;
  19. std::string GetVersionString () const; // return a string like 7.3.1.6
  20. struct VersionInfo {
  21. uint16_t major;
  22. uint16_t minor;
  23. uint16_t build;
  24. uint16_t revision;
  25. } m_version;
  26. protected:
  27. bool GetVersionInfo (const char* lpszFileName);
  28. private:
  29. bool m_bValid; // Version info is loaded
  30. };