【转】如何得到Windows操作系统版本信息(包括2003 R2、Vista和Windows 2008 Server)

在程序中判断Windows版本这本应该是一个极其简单的API就能完成的工作,但由于微软的失误,使得Windows操作系统家族的版本正变得混乱不堪,一个最新的例子是Windows Vista和Windows 2008 Server的版本均为6.0。上世纪90年代Windows 9x和Windows NT的版本混乱主要是因为程序员的错误(或失误)导致的,那么这一次的版本混乱又是因为什么导致的?如果是某些人为的决定导致这样的结果,我只能说这个决定是极其愚蠢的,因为这个愚蠢的决定已经导致版本的意义完全失去了。
  废话不多说了,直接贴代码,以下代码可在Vs2005/Vs2008下编译通过。
  #include "stdafx.h"#include #include #include < WSTR(x) L##x
  #endif #ifndef SM_SERVERR2#define SM_SERVERR2 89
  #endif
  // 前置声明
  WCHAR* GetOperationSystemInfoOld( WCHAR* szBuffer,size_t szLength);// GetNativeSystemInfo函数原型(WOW64) (XP,Vista,2003,2008)
  typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO lpSystemInfo);//
  typedef BOOL (WINAPI *// ProductType常量
  #define PRODUCT_UNDEFINED 0x00000000 //
  #define PRODUCT_ULTIMATE 0x00000001 //
  #define PRODUCT_HOME_BASIC 0x00000002 //
  #define PRODUCT
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值