C++判断Widows版本
来源:互联网 发布:出淘宝 编辑:程序博客网 时间:2024/04/30 11:01
我写了以下两个函数对当前Windows版本号进行判断, 你可以使用其中的任何一个:
1.
//Judge OS version's function and variable
typedef enum tagWin32SysType{
Windows32s,
WindowsNT3,
Windows95,
Windows98,
WindowsME,
WindowsNT4,
Windows2000,
WindowsXP,
WindowsVista
}Win32SysType;
//Judge OS version
Win32SysType IsShellSysType()
{
Win32SysType ShellType;
DWORD winVer;
OSVERSIONINFO *osvi;
winVer=GetVersion();
if(winVer<0x80000000){/*NT */
ShellType=WindowsNT3;
osvi= (OSVERSIONINFO *)malloc(sizeof(OSVERSIONINFO));
if (osvi!=NULL){
memset(osvi,0,sizeof(OSVERSIONINFO));
osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
GetVersionEx(osvi);
if(osvi->dwMajorVersion==4L)ShellType=WindowsNT4;
else if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==0L)ShellType=Windows2000;
else if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==1L)ShellType=WindowsXP;
else if(osvi->dwMajorVersion==6L&&osvi->dwMinorVersion==0L)ShellType=WindowsVista;
free(osvi);
}
}
else if (LOBYTE(LOWORD(winVer))<4)
ShellType=Windows32s;
else{
ShellType=Windows95;
osvi= (OSVERSIONINFO *)malloc(sizeof(OSVERSIONINFO));
if (osvi!=NULL){
memset(osvi,0,sizeof(OSVERSIONINFO));
osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
GetVersionEx(osvi);
if(osvi->dwMajorVersion==4L&&osvi->dwMinorVersion==10L)ShellType=Windows98;
else if(osvi->dwMajorVersion==4L&&osvi->dwMinorVersion==90L)ShellType=WindowsME;
free(osvi);
}
}
return ShellType;
}
这是比较通用的一个, 你可以这样用它:
Win32SysType SysType = IsShellSysType();
if(SysType == WindowsVista ){}
2.
/**
* get current system version
* Windows2000/XP/......
*/
OSVERSIONINFO GetSystemVersion()
{
OSVERSIONINFO osvi;
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osvi);
return osvi;
}
这个简单, 我一般用它:
//if system is XP,then do this if
if(&& GetSystemVersion().dwMajorVersion == 5 && GetSystemVersion().dwMinorVersion == 1){}
- C++判断Widows版本
- widows
- widows版本oraclexe的安装副本
- C/C++中判断GCC版本
- C/C++ - 判断Windows版本新方法
- 判断版本
- 版本判断
- 版本判断
- Widows defender
- widows快捷键
- Widows 注册表
- Widows Tips
- C、C++以及widows编程、数据结构算法等编程书籍推荐
- 判断浏览器版本
- html判断IE版本
- 判断浏览器的版本
- 精确判断vista版本
- js判断浏览器版本
- loadlibrary("")失败-找不到指定得模块组件注册失败-处理办法
- 关于符合WEB标准的滚动文字特效的实现方法
- 创建 Java ME Math.pow() 方法 (转自SUN中国技术社区)
- 数据库系统导论
- 转载 [最新整理版]细数Ajax Control Toolkit 34个服务器端控件
- C++判断Widows版本
- 饭后吃水果是极大误区
- [yc]为qterm-0.4.0增加彩色存盘功能
- 什么是ECTF
- Regsvr32命令全攻略
- FileZilla FTP服务器源代码分析11
- 值得珍藏的 8 0 句话
- FileZilla FTP服务器源代码分析12
- ADT