admin 管理员组文章数量: 887021
以前在代码中判断用户的Windows操作系统版本都是通过GetVersion或GetVersionEx获取版本号,然后比较。
今天偶然发现在新的Visual Studio提供了新的函数来判断系统版本,比直接调用API要方便得多。
为了使用新的函数,需要使用SDK 8.1。我用的VS2013,已经自带了。
更详细的说明可以看官方文档
http://msdn.microsoft/en-us/library/windows/desktop/dn424972(v=vs.85).aspx
#include "stdafx.h"
#include <iostream>
#include <windows.h> // VersionHelpers.h 依赖于 windows.h
#include <VersionHelpers.h> // Windows SDK 8.1 才有喔
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
// 是否大于等于 XP
if (IsWindowsXPOrGreater())
cout << ">= XP" << endl;
else
cout << " < XP" << endl;
// 是否大于等于 XP SP1
if (IsWindowsXPSP1OrGreater())
cout << ">= XP SP1" << endl;
else
cout << " < XP SP1" << endl;
// 是否大于等于 XP SP2
if (IsWindowsXPSP2OrGreater())
cout << ">= XP SP2" << endl;
else
cout << " < XP SP2" << endl;
// 是否大于等于 XP SP3
if (IsWindowsXPSP3OrGreater())
cout << ">= XP SP3" << endl;
else
cout << " < XP SP3" << endl;
// 是否大于等于 Vista
if (IsWindowsVistaOrGreater())
cout << ">= Vista" << endl;
else
cout << " < Vista" << endl;
// 是否大于等于 Vista SP1
if (IsWindowsVistaSP1OrGreater())
cout << ">= Vista SP1" << endl;
else
cout << " < Vista SP1" << endl;
// 是否大于等于 Vista SP2
if (IsWindowsVistaSP1OrGreater())
cout << ">= Vista SP2" << endl;
else
cout << " < Vista SP2" << endl;
// 是否大于等于 Win8
if (IsWindows8OrGreater())
cout << ">= Win8" << endl;
else
cout << " < Win8" << endl;
// 是否大于等于 Win8.1
if (IsWindows8Point1OrGreater())
cout << ">= Win8.1" << endl;
else
cout << " < Win8.1" << endl;
// 是否为服务器版
if (IsWindowsServer())
cout << "服务器版" << endl;
else
cout << "非服务器版" << endl;
// 以上的函数都是通过IsWindowsVersionOrGreater实现的
// Windows 2000的版本号为5.0,所以我们也可以直接通过版本号判断
if (IsWindowsVersionOrGreater(5, 0, 0))
cout << ">= Win 2000" << endl;
else
cout << " < Win 2000" << endl;
system("pause");
return 0;
}
Win7 x64 旗舰本运行效果:
另外,如果将平台工具集选择为支持XP的话,就不能用上面的函数了,会提示找不到VersionHelper.h头文件。
文章来自:http://www.tuicool/articles/NVrA7fn
版权声明:本文标题:CC++ - 判断Windows版本新方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726194476h913707.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论