windowsapi函数库: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
    );
#def UNICODE
# GetVersionEx GetVersionExW
#
# GetVersionEx GetVersionExA
#end // !UNICODE


  lpVersionInformation是返回系统版本信息

  例子如下:

#001 //
#002  //获取当前登录用户名称
#003  //蔡军生 2007/11/14 QQ:9073204 深圳
#004  void GetWinVersion(void)
#005  {
#006         //
#007         OSVERSIONINFO osvi;
#008         osvi.dwOSVersionInfoSize = (OSVERSIONINFO);
#009        
#010         //获取系统版本信息
#011         ::GetVersionEx(&osvi);
#012         bool bIsWindowsXPorLater = (osvi.dwMajorVersion > 5) ||
#013               ( (osvi.dwMajorVersion  5) && (osvi.dwMinorVersion >= 1) );
#014 
#015         //显示当前版本
#016          (bIsWindowsXPorLater)
#017         {
#018               OutputDebugString(_T("Windows XP或更新版本!\r\n"));
#019         }
#020         
#021         {
#022               OutputDebugString(_T("Windows XP以前版本!\r\n"));              
#023         }        
#024  }


Tags:  api函数 getversionex windowsapi函数 windowsapi函数库

延伸阅读

最新评论

发表评论