得到系统版本号

Windows API 拥有下面的G e t Ve r s i o n 函数:

DWORD GetVersion();
该函数已经有相当长的历史了。最初它是为1 6 位Wi n d o w s 设计的。它的作用很简单,在高位字中返回M S - D O S 版本号,在低位字中返回Wi n d o w s 版本号。对于每个字来说,高位字节代表主要版本号,低位字节代表次要版本号。
但是,编写该代码的程序员犯了一个小小的错误,函数的编码结果使得Wi n d o w s 的版本号颠倒了,即主要版本号位于低位字节,而次要版本号位于高位字节。由于许多程序员已经开始使用该函数,M i c r o s o f t 不得不保持函数的原样,并修改了文档,以说明这个错误。

由于围绕着G e t Ve r s i o n 函数存在着各种混乱,因此M i c r o s o f t 增加了一个新函数G e t Ve r s i o n E x :

BOOL GetVersionEx(POSVERSIONINFO pVersionInformation);


为了使操作更加容易,Windows 2000以后的版本 提供了一个新的函数,即Ve r i f y Ve r s i o n I n f o ,用于对主机系统的版本与你的应用程序需要的版本进行比较:

BOOL VerifyVersionInfo(
   POSVERSIONINFOEX pVersionInformation,
   DWORD dwTypeMask,
   DWORDLONG dwlConditionMask);
若要使用该函数,必须指定一个O S V E R S I O N I N F O E X 结构,将它的d w O S Ve r s i o n I n f o S i z e 成员初始化为该结构的大小,然后对该结构中的其他成员(这些成员对你的应用程序来说很重要)进行初始化。当调用Ve r i f y Ve r s i o n I n f o 时,d w Ty p e M a s k 参数用于指明该结构的哪些成员已经进行了初始化。d w Ty p e M a s k 参数是用O R 连接在一起的下列标志中的任何一个标志:
V E R _ M I N O RV E R S I O N ,V E R _ M A J O RV E R S I O N ,V E R _ B U I L D N U M B E R ,V E R _ P L AT F O R M I D ,VER_ SERV I C E PA C K M I N O R ,V E R _ S E RV I C E PA C K M A J O R ,V E R _ S U I T E N A M E ,VER_PRODUCT_ TYPE 。最后一个参数d w l C o n d i t i o n M a s k 是个6 4 位值,用于控制该函数如何将系统的版本信息与需要的信息进行比较。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值