aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/General/gen_crasher/MiniVersion.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Plugins/General/gen_crasher/MiniVersion.h')
-rw-r--r--Src/Plugins/General/gen_crasher/MiniVersion.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/Src/Plugins/General/gen_crasher/MiniVersion.h b/Src/Plugins/General/gen_crasher/MiniVersion.h
new file mode 100644
index 00000000..4a44d97e
--- /dev/null
+++ b/Src/Plugins/General/gen_crasher/MiniVersion.h
@@ -0,0 +1,69 @@
+// MiniVersion.h Version 1.1
+//
+// Author: Hans Dietrich
+// hdietrich2@hotmail.com
+//
+// This software is released into the public domain.
+// You are free to use it in any way you like, except
+// that you may not sell this source code.
+//
+// This software is provided "as is" with no expressed
+// or implied warranty. I accept no liability for any
+// damage or loss of business that this software may cause.
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef MINIVERSION_H
+#define MINIVERSION_H
+
+#include <windows.h>
+#include <TCHAR.h>
+
+class CMiniVersion
+{
+// constructors
+public:
+ CMiniVersion(LPCTSTR lpszPath = NULL);
+ BOOL Init();
+ void Release();
+
+// operations
+public:
+
+// attributes
+public:
+ // fixed info
+ BOOL GetFileVersion(WORD *pwVersion);
+ BOOL GetProductVersion(WORD* pwVersion);
+ BOOL GetFileFlags(DWORD& rdwFlags);
+ BOOL GetFileOS(DWORD& rdwOS);
+ BOOL GetFileType(DWORD& rdwType);
+ BOOL GetFileSubtype(DWORD& rdwType);
+
+ // string info
+ BOOL GetCompanyName(LPTSTR lpszCompanyName, int nSize);
+ BOOL GetFileDescription(LPTSTR lpszFileDescription, int nSize);
+ BOOL GetProductName(LPTSTR lpszProductName, int nSize);
+
+// implementation
+protected:
+ BOOL GetFixedInfo(VS_FIXEDFILEINFO& rFixedInfo);
+ BOOL GetStringInfo(LPCTSTR lpszKey, LPTSTR lpszValue, unsigned int cchBuffer);
+
+ BYTE* m_pData;
+ DWORD m_dwHandle;
+ WORD m_wFileVersion[4];
+ WORD m_wProductVersion[4];
+ DWORD m_dwFileFlags;
+ DWORD m_dwFileOS;
+ DWORD m_dwFileType;
+ DWORD m_dwFileSubtype;
+
+ TCHAR m_szPath[MAX_PATH*2];
+ TCHAR m_szCompanyName[MAX_PATH*2];
+ TCHAR m_szProductName[MAX_PATH*2];
+ TCHAR m_szFileDescription[MAX_PATH*2];
+};
+
+///////////////////////////////////////////////////////////////////////////////
+#endif \ No newline at end of file