⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 osversion.hpp

📁 cab文件压缩、解压程序源代码
💻 HPP
字号:
//---------------------------------------------------------------------------
// Copyright (C) 1998, Interscope Ltd. All rights reserved.
// Reproduction or distribution of this program, or any portion of it, 
// is permitted only if this header is kept as it is.
// For more information, contact:
//
// Interscope Ltd., 5 Culturii St., 5th Floor, 4800 Baia Mare, RO
//    Phone/Fax: +40-62-215023
//    E-mail: office@interscope.ro
//
//   $Author: Levente Farkas $
//     $Date: 5/13/98 12:03a $
//  $Modtime: 4/27/98 6:50a $
// $Revision: 17 $
//  $Archive: /Interscope/Thebe/InstallMaster/OSVersion.Hpp $
// $Workfile: OSVersion.Hpp $
//-----------------------------------------------------------------------------

#ifndef __OperatingSystemVersion_Hpp__
#define __OperatingSystemVersion_Hpp__

// Define the following symbol if compiling using precompiled headers through 
// header file StdAfx.H
// #define __STDAFX__
//
// Define the following symbol if used in a MFC project
// #define __MFC__

#ifdef __MFC__
#undef __STDAFX__
#define __STDAFX__
#endif

#if !defined(__WIN32__) && !defined(_WIN32)
#ifndef STRICT
#define STRICT
#endif
#endif // __WIN32__

#include <Windows.H>

#if defined(__WIN32__) || defined(_WIN32)
#include <WinVer.H>
#else
#include <Ver.H>
#endif


//--- Extended OS and Win32 (tm) version types --------------------------------

#define OS_UNKNOWN      0x0000
#define OS_WIN3X        0x0001
#define OS_WFW          0x0002
#define OS_WIN95        0x0004
#define OS_WIN98        0x0008
#define OS_WINNTWS      0x0010  // Workstation
#define OS_WINNTS       0x0020  // Server
#define OS_WINNTAS      0x0040  // Advanced server (only if older than 4.0)
#define OS_WINNT        (OS_WINNTWS | OS_WINNTS | OS_WINNTAS)

#define WIN_UNKNOWN     0x0000
#define WIN_16          0x0100
#define WIN_32          0x0200
#define WIN_32S         0x0400
#define WIN_32C         0x0800


//--- Windows 4 Workgroups detection methods --------------------------------

#define METHOD_MULTINET   1
#define MEHOD_FILEVERSION 2


//--- OS version checker class ----------------------------------------------

class COSVersion
{
// Type(s)
protected:
    struct VS_VERSION 
    {
        WORD wTotLen;
        WORD wValLen;
        char szSig[16];
        VS_FIXEDFILEINFO vffInfo;
    };

// Data members
private:
    WORD  m_nOSType;
    WORD  m_nWinType;
    DWORD m_dwVersion;

    #if defined(__WIN32__) || defined(_WIN32)
    OSVERSIONINFO osvi;
    #endif

// Construction
public:
    COSVersion();

// Implementation
public:
    WORD  GetOSType()       const { return m_nOSType;  }  // Returns one of the OS_ constants
    WORD  GetWindowsType()  const { return m_nWinType; }  // Returns one of the WIN_ constants
    DWORD GetMajorVersion() const;
    DWORD GetMinorVersion() const;

    #if defined(__WIN32__) || defined(_WIN32)
    DWORD   GetBuildNumber()	const;
	LPCTSTR GetSpecialVersion() const;
    #endif

// Helper(s)
private:
    BOOL IsWindows4Workgroups(unsigned short usMethod);
};


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -