GetVersionEx函数

Windows发展还是非常快速的,从Win95,到Win98,再到Win2000XP系统。每个系统的功能也有所不同,要想在程序里区别不同的系统,就需要获取系统的版本信息。比如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  // #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  }

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年4月4日
下一篇 2015年4月4日

相关推荐