1// VersionInfo.h: interface for the CVersionInfo class. 2// 3////////////////////////////////////////////////////////////////////// 4 5#if !defined(AFX_VERSIONINFO_H__F82E9FF3_5298_11D4_AB87_00C04F789BA0__INCLUDED_) 6#define AFX_VERSIONINFO_H__F82E9FF3_5298_11D4_AB87_00C04F789BA0__INCLUDED_ 7 8#if _MSC_VER > 1000 9#pragma once 10#endif // _MSC_VER > 1000 11 12class CVersionInfo 13{ 14public: 15 CVersionInfo(CString filename); 16 virtual ~CVersionInfo(); 17 BOOL IsValid() {return m_isValid;} 18 DWORD GetStatus() {return m_status;} 19 20 BOOL CopyFileCheckVersion(CVersionInfo &originalFile); 21 BOOL CopyFileNoVersion(CVersionInfo &originalFile); 22 23 const CString &GetFilename() {return m_filename;} 24 25 // Extract the elements of the file's string info block 26 CString GetFileVersionString(); 27 CString GetProductVersionString(); 28 CString GetComments(); 29 CString GetFileDescription(); 30 CString GetInternalName(); 31 CString GetLegalCopyright(); 32 CString GetLegalTrademarks(); 33 CString GetOriginalFileName(); 34 CString GetProductName(); 35 CString GetSpecialBuildString(); 36 CString GetPrivateBuildString(); 37 CString GetCompanyName(); 38 39 40 // Extract the elements of the file's VS_FIXEDFILEINFO block 41 _int64 GetFileVersion(); 42 _int64 GetProductVersion(); 43 _int64 GetFileDate(); 44 45 DWORD GetFileFlagMask(); 46 DWORD GetFileFlags(); 47 DWORD GetFileOS(); 48 DWORD GetFileType(); 49 DWORD GetFileSubType(); 50 51private: 52 CString m_filename; 53 BOOL m_isValid; 54 LPVOID m_versionInfo; 55 VS_FIXEDFILEINFO *m_fixedInfo; 56 DWORD m_codePage; 57 DWORD m_status; 58 59 CString QueryStringValue(CString value); 60}; 61 62#endif // !defined(AFX_VERSIONINFO_H__F82E9FF3_5298_11D4_AB87_00C04F789BA0__INCLUDED_) 63