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