OSVERSIONINFO的用法及实例
2015-11-05 14:48
357 查看
OSVERSIONINFO
快速信息
Windows NT 支持
Windows 95 支持
Win32s 支持
引入程序库 -
头文件 winbase.h
Unicode WinNT
平台说明 无
概述-系统信息
微软的Win32应用程序编程接口(API)包含了描述当前操作系统配置的函数。
所属分组
系统信息结构体
以下结构体均用于检索或设置系统信息。
ANIMATIONINFO
HW_PROFILE_INFO
MINIMIZEDMETRICS
NONCLIENTMETRICS
OSVERSIONINFO
SYSTEM_INFO
使用说明
在OSVERSIONINFO数据结构中包含操作系统版本信息。这些信息包括主要和次要版本号,一个内部版本号,一个平台标识符,以及操作系统的说明性文本。GetVersionEx函数将使用这个结构体。
结构体原型:
typedef struct _OSVERSIONINFO{
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
TCHAR szCSDVersion[ 128 ];
} OSVERSIONINFO;
成员说明:
dwOSVersionInfoSize
以字节为单位,指定这个数据结构的大小。须在调用GetVersionEx(OSVERSIONINFO)函数之前,将这个成员设置为sizeof(OSVERSIONINFO)。
dwMajorVersion
标识操作系统的主版本号。例如,对于Windows NT 3.51版,其主版本号为3;对于Windows NT 4.0版,其主版本号为4。
dwMinorVersion
标识操作系统的次要版本号。例如,对于Windows NT 3.51版,其次要版本号为51;对于Windows NT 4.0版本,其次要版本号为0。
dwBuildNumber
Windows NT:标识操作系统的内部版本号。
Windows 95:低位字标识操作系统数的内部版本号。高位字包含了主要和次要版本号。
dwPlatformId
标识操作系统平台。这个成员可以是下列值之一:
值: 平台:
VER_PLATFORM_WIN32s Win32s on Windows 3.1.
VER_PLATFORM_WIN32_WINDOWS Win32 on Windows 95.
VER_PLATFORM_WIN32_NT Win32 on Windows NT.
szCSDVersion
Windows NT:包含一个以NULL结尾的字符串,如“Service Pack 3”,就表明系统上安装了最新的Service Pack。如果没有安装Service Pack,该字符串为空。
Windows 95:包含一个以NULL结尾的字符串,提供了对操作系统的任意补充信息。
参阅:
GetVersionEx
int game::getsys()
{ OSVERSIONINFO stOSVI ;//一个获取操作系统版本信息的数据结构
ZeroMemory(&stOSVI , sizeof ( OSVERSIONINFO )) ;
stOSVI.dwOSVersionInfoSize = sizeof ( OSVERSIONINFO ) ;
GetVersionEx ( &stOSVI);
int a=0;
if (stOSVI.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS &&
(stOSVI.dwMajorVersion>4||(stOSVI.dwMajorVersion==4
&& stOSVI.dwMinorVersion>0)))
a=1;
if (VER_PLATFORM_WIN32_NT==stOSVI.dwPlatformId&&stOSVI.dwMajorVersion>=5)
a=2;
if (VER_PLATFORM_WIN32_NT==stOSVI.dwPlatformId&&stOSVI.dwMajorVersion==4)
a=3;
if (VER_PLATFORM_WIN32_NT==stOSVI.dwPlatformId)
a=4;
return a;
}
快速信息
Windows NT 支持
Windows 95 支持
Win32s 支持
引入程序库 -
头文件 winbase.h
Unicode WinNT
平台说明 无
概述-系统信息
微软的Win32应用程序编程接口(API)包含了描述当前操作系统配置的函数。
所属分组
系统信息结构体
以下结构体均用于检索或设置系统信息。
ANIMATIONINFO
HW_PROFILE_INFO
MINIMIZEDMETRICS
NONCLIENTMETRICS
OSVERSIONINFO
SYSTEM_INFO
使用说明
在OSVERSIONINFO数据结构中包含操作系统版本信息。这些信息包括主要和次要版本号,一个内部版本号,一个平台标识符,以及操作系统的说明性文本。GetVersionEx函数将使用这个结构体。
结构体原型:
typedef struct _OSVERSIONINFO{
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
TCHAR szCSDVersion[ 128 ];
} OSVERSIONINFO;
成员说明:
dwOSVersionInfoSize
以字节为单位,指定这个数据结构的大小。须在调用GetVersionEx(OSVERSIONINFO)函数之前,将这个成员设置为sizeof(OSVERSIONINFO)。
dwMajorVersion
标识操作系统的主版本号。例如,对于Windows NT 3.51版,其主版本号为3;对于Windows NT 4.0版,其主版本号为4。
dwMinorVersion
标识操作系统的次要版本号。例如,对于Windows NT 3.51版,其次要版本号为51;对于Windows NT 4.0版本,其次要版本号为0。
dwBuildNumber
Windows NT:标识操作系统的内部版本号。
Windows 95:低位字标识操作系统数的内部版本号。高位字包含了主要和次要版本号。
dwPlatformId
标识操作系统平台。这个成员可以是下列值之一:
值: 平台:
VER_PLATFORM_WIN32s Win32s on Windows 3.1.
VER_PLATFORM_WIN32_WINDOWS Win32 on Windows 95.
VER_PLATFORM_WIN32_NT Win32 on Windows NT.
szCSDVersion
Windows NT:包含一个以NULL结尾的字符串,如“Service Pack 3”,就表明系统上安装了最新的Service Pack。如果没有安装Service Pack,该字符串为空。
Windows 95:包含一个以NULL结尾的字符串,提供了对操作系统的任意补充信息。
参阅:
GetVersionEx
int game::getsys()
{ OSVERSIONINFO stOSVI ;//一个获取操作系统版本信息的数据结构
ZeroMemory(&stOSVI , sizeof ( OSVERSIONINFO )) ;
stOSVI.dwOSVersionInfoSize = sizeof ( OSVERSIONINFO ) ;
GetVersionEx ( &stOSVI);
int a=0;
if (stOSVI.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS &&
(stOSVI.dwMajorVersion>4||(stOSVI.dwMajorVersion==4
&& stOSVI.dwMinorVersion>0)))
a=1;
if (VER_PLATFORM_WIN32_NT==stOSVI.dwPlatformId&&stOSVI.dwMajorVersion>=5)
a=2;
if (VER_PLATFORM_WIN32_NT==stOSVI.dwPlatformId&&stOSVI.dwMajorVersion==4)
a=3;
if (VER_PLATFORM_WIN32_NT==stOSVI.dwPlatformId)
a=4;
return a;
}
相关文章推荐
- gcc 库的链接顺序问题
- Lua1.1 Lua 的参考手册 (二)
- Hibernate.cfg.xml配置文件结构详解
- mysqlbinlog使用
- SQL基本语句汇总
- Linux网络编程常用API(一)
- wordpress注册加上问题验证
- express.Router创建模块化路由
- Lua1.1 Lua 的参考手册 (一)
- 享元模式 -- 大话设计模式
- 图文详解Windows Server2012 R2中安装SQL Server2008
- iOS反射的基本应用
- redist技术
- 手势action_block
- Android视图SurfaceView的实现原理分析
- Sublime Text 2快捷键
- 开源中国 OsChina Android 客户端源码分析(12)清理缓存
- vs2009调试遇到问题/json解析错误/eclipse项目转myeclipse项目
- RGB颜色与16进制色以及透明色
- webview js之间的交互