#pragma once #include //----------------------------------------------------------------------------- // FileVersion //----------------------------------------------------------------------------- class FileVersion { public: FileVersion (); FileVersion (const char* lpszFileName); virtual ~FileVersion (); bool Open (const char* lpszFileName); void Close (void); bool IsValid () const; uint16_t GetVersionMajor () const; uint16_t GetVersionMinor () const; uint16_t GetVersionBuild () const; uint16_t GetVersionRevision () const; std::string GetVersionString () const; // return a string like 7.3.1.6 struct VersionInfo { uint16_t major; uint16_t minor; uint16_t build; uint16_t revision; } m_version; protected: bool GetVersionInfo (const char* lpszFileName); private: bool m_bValid; // Version info is loaded };