Windows API一日一练(73)GetVersionEx函数

Windows 发展还是非常快速的,从 Win95 ,到 Win98 ,再到 Win2000 XP 系统。每个系统的功能也有所不同,要想在程序里区别不同的系统,就需要获取系统的版本信息。比如 XP 里有防火墙,而其它以前的系统里没有带有的。但有时编写了一个服务器程序,或者编写 BT 程序,又需要设置一个端口对外面接收连接,因此在 XP 系统里就需要设置防火墙的端口,而在 XP 以前的系统里就没有必要设置端口了。这样的需求,就可以使用函数 GetVersionEx 来区分不同的系统。
 
函数 GetVersionEx 声明如下:
 
WINBASEAPI
BOOL
WINAPI
GetVersionExA(
    __inout LPOSVERSIONINFOA lpVersionInformation
    );
WINBASEAPI
BOOL
WINAPI
GetVersionExW(
    __inout LPOSVERSIONINFOW lpVersionInformation
    );
#ifdef UNICODE
#define GetVersionEx GetVersionExW
#else
#define GetVersionEx GetVersionExA
#endif // !UNICODE
 
lpVersionInformation 是返回系统版本的信息。
 
 
调用函数的例子如下:
#001 //
#002  // 获取当前登录用户的名称。
#003  // 蔡军生  2007/11/14 QQ:9073204 深圳
#004  void GetWinVersion(void)
#005  {
#006         //
#007         OSVERSIONINFO osvi;
#008         osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
#009        
#010         // 获取系统的版本信息。
#011         ::GetVersionEx(&osvi);
#012         bool bIsWindowsXPorLater = (osvi.dwMajorVersion > 5) ||
#013               ( (osvi.dwMajorVersion == 5) && (osvi.dwMinorVersion >= 1) );
#014 
#015         // 显示当前的版本。
#016         if (bIsWindowsXPorLater)
#017         {
#018               OutputDebugString(_T("Windows XP 或更新版本 !/r/n"));
#019         }
#020         else
#021         {
#022               OutputDebugString(_T("Windows XP 以前版本 !/r/n"));              
#023         }        
#024  }
 
 

转载于:https://www.cnblogs.com/ajuanabc/archive/2007/11/14/2464224.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值