47 lines
1.5 KiB
C++
47 lines
1.5 KiB
C++
//-----------------------------------------------------------------------------
|
|
// This class is useful for retrieving information about a specific file. It
|
|
// uses the version resource code from Dr. Watson. To use it, create an
|
|
// instance of the class, and use the QueryFile method to query information
|
|
// about a specific file. Then use the Get* access functions to get the
|
|
// values describing the information.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class CFileVersionInfo
|
|
{
|
|
public:
|
|
//-------------------------------------------------------------------------
|
|
// Local structures and macros used to retrieve the file version information.
|
|
// These are necessary to use to the Dr. Watson codebase without too much
|
|
// modification.
|
|
//-------------------------------------------------------------------------
|
|
|
|
struct VERSIONSTATE
|
|
{
|
|
PVOID pvData;
|
|
TCHAR tszLang[9];
|
|
TCHAR tszLang2[9];
|
|
};
|
|
|
|
struct FILEVERSION
|
|
{
|
|
TCHAR tszFileVersion[32]; /* File version */
|
|
TCHAR tszDesc[MAX_PATH]; /* File description */
|
|
TCHAR tszCompany[MAX_PATH]; /* Manufacturer */
|
|
TCHAR tszProduct[MAX_PATH]; /* Enclosing product */
|
|
};
|
|
|
|
CFileVersionInfo();
|
|
~CFileVersionInfo();
|
|
|
|
HRESULT QueryFile(LPCSTR szFile, BOOL fHasDoubleBackslashes = FALSE);
|
|
HRESULT QueryFile(LPCWSTR szFile, BOOL fHasDoubleBackslashes = FALSE);
|
|
|
|
LPCTSTR GetVersion();
|
|
LPCTSTR GetDescription();
|
|
LPCTSTR GetCompany();
|
|
LPCTSTR GetProduct();
|
|
|
|
private:
|
|
FILEVERSION * m_pfv;
|
|
};
|