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