推斷Windows版本號碼新方法

來源:互聯網
上載者:User

標籤:rac   ios   server   system   space   ret   windowsxp   sdn   turn   

曾經在代碼中推斷使用者的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[]){// 是否大於等於 XPif (IsWindowsXPOrGreater())cout << ">= XP" << endl;elsecout << " < XP" << endl;// 是否大於等於 XP SP1if (IsWindowsXPSP1OrGreater())cout << ">= XP SP1" << endl;elsecout << " < XP SP1" << endl;// 是否大於等於 XP SP2if (IsWindowsXPSP2OrGreater())cout << ">= XP SP2" << endl;elsecout << " < XP SP2" << endl;// 是否大於等於 XP SP3if (IsWindowsXPSP3OrGreater())cout << ">= XP SP3" << endl;elsecout << " < XP SP3" << endl;// 是否大於等於 Vistaif (IsWindowsVistaOrGreater())cout << ">= Vista" << endl;elsecout << " < Vista" << endl;// 是否大於等於 Vista SP1if (IsWindowsVistaSP1OrGreater())cout << ">= Vista SP1" << endl;elsecout << " < Vista SP1" << endl;// 是否大於等於 Vista SP2if (IsWindowsVistaSP1OrGreater())cout << ">= Vista SP2" << endl;elsecout << " < Vista SP2" << endl;// 是否大於等於 Win8if (IsWindows8OrGreater())cout << ">= Win8" << endl;elsecout << " < Win8" << endl;// 是否大於等於 Win8.1if (IsWindows8Point1OrGreater())cout << ">= Win8.1" << endl;elsecout << " < Win8.1" << endl;// 是否為server版if (IsWindowsServer())cout << "server版" << endl;elsecout << "非server版" << endl;// 以上的函數都是通過IsWindowsVersionOrGreater實現的// Windows 2000的版本為5.0,所以我們也能夠直接通過版本推斷if (IsWindowsVersionOrGreater(5, 0, 0))cout << ">= Win 2000" << endl;elsecout << " < Win 2000" << endl;system("pause");return 0;}

Win7 x64 旗艦版執行效果:



另外。假設將平台工具集選擇為支援XP的話。就不能用上面的函數了,會提示找不到VersionHelper.h標頭檔。



推斷Windows版本號碼新方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.