推断Windows版本号新方法
曾经在代码中推断用户的Windows操作系统版本号都是通过GetVersion或GetVersionEx获取版本号号,然后比較。
今天偶然发如今新的Visual Studio提供了新的函数来推断系统版本号,比直接调用API要方便得多。
为了使用新的函数。须要使用SDK 8.1。我用的VS2013。已经自带了。
#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; // 是否为server版
if (IsWindowsServer())
cout << "server版" << endl;
else
cout << "非server版" << 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头文件。
推断Windows版本号新方法的更多相关文章
- svn下copy项目后定位到新资源库,产生不同版本号的方法
转载于http://blog.csdn.net/u012990533/article/details/44776465 最近这两天,公司要做国际化的开发,本打算要用struts2内置的i18n拦截器做 ...
- Atitit.jquery 版本号新特性attilax总结
Atitit.jquery 版本号新特性attilax总结 1. Jq1.4 1 2. 1.5 1 3. 1.6 3 4. Jq1.7 3 ⒉提升了事件委派时的性能有了大幅度的提升.尤其是在ie7下: ...
- Windows 10新功能
Windows 10 中面向开发人员的新增功能 Windows 10 及新增的开发人员工具将提供新通用 Windows 平台支持的工具.功能和体验.在 Windows 10 上安装完工具和 SDK后, ...
- 超具体Windows版本号编译执行React Native官方实例UIExplorer项目(多图慎入)
),React Native技术交流4群(458982758).请不要反复加群! 欢迎各位大牛,React Native技术爱好者加入交流!同一时候博客右側欢迎微信扫描关注订阅号,移动技术干货,精彩文 ...
- Windows 10 新特性 -- Bing Maps 3D地图开发入门(一)
本文主要内容是讲述如何创建基于 Windows Universal App 的Windows 10 3D地图应用,涉及的Windows 10新特性包括 Bing Maps 控件.Compiled da ...
- 将dll文件注入到其他进程中的一种新方法
http://www.45it.com/windowszh/201212/33946.htm http://www.hx95.cn/Article/OS/201212/65095.html 我们知道将 ...
- windows关闭端口方法
windows关闭端口方法 在介绍各种端口的作用前,这里先介绍一下在Windows中如何关闭/打开端口,因为默认的情况下,有很多不安全的或没有什么用的端口是开启的,比如Telnet服务的23端口.FT ...
- 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法
若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...
- 【Android】一种提高Android应用进程存活率新方法
[Android]一种提高Android应用进程存活率新方法 SkySeraph Jun. 19st 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph ...
随机推荐
- iOS:通过Self-Sizing Cells新特性自动计算cell的高度
iOS8 新特性Self-Sizing Cells,自动计算cell的高度 一.简单介绍 UITableView是iOS开发最常用的一个控件,通过代理和数据源方法,几乎能实现各种各样的列表功能.在这里 ...
- [leetcode]Interleaving String @ Python
原题地址:https://oj.leetcode.com/problems/interleaving-string/ 题意: Given s1, s2, s3, find whether s3 is ...
- 基于Bootstrap+jQuery.validate Form表单验证实践
基于Bootstrap jQuery.validate Form表单验证实践 项目结构 : github 上源码地址:https://github.com/starzou/front-end- ...
- Pycharm安装详细教程
今天小编给大家分享如何在本机上下载和安装Pycharm,具体的教程如下: 1.首先去Pycharm官网,或者直接输入网址:http://www.jetbrains.com/pycharm/downlo ...
- Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程~(心血之作啊~~)
http://blog.csdn.net/licongcong_0224/article/details/12972889 历时一周多,终于搭建好最新版本hadoop2.2集群,期间遇到各种问题,作为 ...
- Shark简介、部署及编译小结
http://blog.csdn.net/pelick/article/details/11964291 Shark简介 Shark即Hive on Spark,本质上是通过Hive的HQL解析,把H ...
- (转)C#垃圾回收机制详解
GC的前世与今生 虽然本文是以.net作为目标来讲述GC,但是GC的概念并非才诞生不久.早在1958年,由鼎鼎大名的图林奖得主John McCarthy所实现的Lisp语言就已经提供了GC的功能,这是 ...
- [Algorithm] Check if a binary tree is binary search tree or not
What is Binary Search Tree (BST) A binary tree in which for each node, value of all the nodes in lef ...
- Direct2D教程III——几何(Geometry)对象
目前博客园中成系列的Direct2D的教程有 1.万一的 Direct2D 系列,用的是Delphi 2009 2.zdd的 Direct2D 系列,用的是VS中的C++ 3.本文所在的 Direct ...
- mysql 表分区 查看表分区 修改表分区
原文地址:http://blog.csdn.net/feihong247/article/details/7885199 一. mysql分区简介 数据库分区 数据库分区是一种物理数据库设 ...