1. 程式人生 > >獲取Windows 版本資訊 預備以後也用

獲取Windows 版本資訊 預備以後也用

bool IsWinSysInfo()
{

    SYSTEM_INFO info;
    GetSystemInfo(&info);
    OSVERSIONINFOEX os;
    os.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
    CString osname ="unknown OperatingSyste";
    if (GetVersionEx((OSVERSIONINFO *)&os))
    {
        switch (os.dwMajorVersion)
        {
        case
5: switch (os.dwMinorVersion) { case 0: osname = "Microsoft windows 2000"; break; case 1: osname = "Microsoft windows XP"; //{ // GetXPTime(); // XPs = TRUE; //}
break; case 2: if (os.wProductType == VER_NT_WORKSTATION &&info.wProcessorArchitecture ==PROCESSOR_ARCHITECTURE_AMD64) { osname = "Microsoft Windows XP Professional x64 Edition"; } else
if(GetSystemMetrics(SM_SERVERR2) == 0) { osname = "Microsoft Windows Server 2003"; } else if(GetSystemMetrics(SM_SERVERR2)!= 0) { osname = "Microsoft Windows Server 2003 R2"; } break; } break; case 6: switch(os.dwMinorVersion) { case 0: if (os.wProductType == VER_NT_WORKSTATION) { osname = "Microsoft Windows Vista"; } else { osname = "Microsoft Windows Server 2008";//伺服器版本 } break; case 1: if (os.wProductType == VER_NT_WORKSTATION) { osname = "Microsoft Windows win7" //GetWin7Time(); //Win7s = TRUE; } else osname = "Microsoft Windows Server 2008 R2"; break; case 2: if(os.wProductType == VER_NT_WORKSTATION) osname = "Microsoft Windows 8"; else osname = "Microsoft Windows Server 2012"; break; case 3: if(os.wProductType == VER_NT_WORKSTATION) osname = "Microsoft Windows 8.1"; else osname = "Microsoft Windows Server 2012 R2"; break; } break; case 10: case 0: switch(os.dwMinorVersion) { case 0: if(os.wProductType == VER_NT_WORKSTATION) osname = "Microsoft Windows 10"; else osname = "Microsoft Windows Server 2016 Technical Preview";//伺服器版本 break; } break; } AfxMessageBox(osname); } return TRUE; }

相關推薦

獲取Windows 版本資訊 預備以後

bool IsWinSysInfo() { SYSTEM_INFO info; GetSystemInfo(&info); OSVERSIONINFOEX os; os.dwOSVersionInfoSize = siz

C++ 通過登錄檔獲取Windows版本資訊

原理:通過訪問登錄檔 HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion 下的鍵值資訊來獲取windows版本資訊。由於是訪問登錄檔獲取的資訊,所以準確性一般。 #include <

獲取windows版本資訊的做法

作者:朱金燦        個人不建議用 GetVersion 或GetVersionEx 之類的 API 來獲取系統版本號。注意微軟也說過,這個結果會受到相容模式的影響,即如果程式設定相容模式為 XP 那麼拿到的也可能是 5.1 的。所以要準確的獲取版本號,我建議直接獲取

windows 獲取作業系統版本資訊

做windows 程式開發 常常使用關於OS的資訊的函式 相關的MSDN的links: http://msdn.microsoft.com/zh-cn/library/windows/desktop/ms724834(v=vs.85).aspx http://msdn.m

批處理命令之精確獲取作業系統版本資訊

                作者:朱金燦為了使得批處理命令獲取更大的通用性,有時需要獲取作業系統版本。今天為此搜了一些資料,網上的說法是Ver、登錄檔、WMI都可以。我研究了一下,發現還是Ver命令最為成熟,為此綜合各家做法寫下了下面一個批處理檔案:@echo offclsver | find "4.0.

獲取應用版本資訊AppUtils

public class AppUtils { private AppUtils() { /* cannot be instantiated */ throw new UnsupportedOperationException("cannot be in

C# 獲取Windows版本及IE版本

//C#判斷作業系統是否為Windows98 public static bool IsWindows98 { get { return (Environment.OSVersion.Platform == PlatformID.Win3

JSP中頁面跳轉後獲取表單資訊的方法述到(hidden)(session)

假設現在有三個頁面分別是test1.jsp,test2.jsp,test3.jsp 在test1.jsp頁面中填寫名字username資訊 在test2.jsp頁面中填寫興趣愛好amuse資訊 頁面從test1.jsp中以表單形式跳轉到test2.jsp中,繼續以表單形

批處理獲取系統版本資訊

@echo off ::從系統檔案中獲取系統版本資訊 for /f "tokens=1* delims=[" %%a in ('ver') do set b=%%b ::將版本資訊賦值給變數b set b=%b:* =% ::呼叫指定值對應的cmd命令列 call:%b:~

C#獲取WIndows版本號截止至Windows2003Server版本

//引用空間using System;//獲取作業系統版本函式public string GetCurrentOSVersion()  {   //Windows作業系統版本號組成部分:主版本號.次版本號.內部版本號.修訂版本號   string tempOSVersion=

利用WinAPI(GetFileVersionInfo)獲取檔案版本資訊

1)檔案版本資訊在Windows內部,按照以下格式儲存:例如:2.10.0.256->dwFileVersionMS = 0x0002000A 高4位元組 = 2 = 0x0002; 低4位元組 = 10 = 0x000AdwFileVersionLS = 0x0000

帶超時時間的telnet該怎麼玩?------檢測tcp是否可連線時經常到(本文僅給出linux版本,之前部落格Windows版本的)

        前面說過, 利用ping命令探測網路是否可通, 但很多時候, 服務端或者防火牆禁止了ping命令, 也就是說, ping不通, 不表示網路不通, 所以仍有可能能建立tcp連線。怎麼檢測tcp連線是否可通呢? 用telnet命令就可以搞起, 但問題是, 很多時

獲取 Windows 作業系統版本資訊

// OSinfo.cpp : 定義控制檯應用程式的入口點。#include "stdafx.h"#include <windows.h>#include <stdio.h>#include "winsock.h"#include <string

使用Windows API實現執行時動態獲取程式檔案版本資訊

檔案版本資訊的存在使得應用程式正確的安裝檔案變得簡單,並且使安裝程式能夠分析檔案的當前安裝狀態。通常,版本資訊應該包括檔案的版本號、檔案功能描述以及檔案作者等多項重要內容。   在應用層面上,程式設計師可以通過儲存在應用程式檔案或動態連結庫檔案中的版本資訊判斷一個檔案是否

獲取windows操作系統版本

blog system oca char bool 操作系統 argv type ros 1 #include <windows> 2 int main(int argc, char* argv[]) 3 { 4 HKEY hKey; 5

獲取Windows版本

vs2015 mfc void CtestThreadDlg::OnBnClickedButton3() { HKEY hKey; DWORD dwType = REG_SZ; DWORD dwSize = 255;//須指定長度,否則第一次讀取RegQueryValueEx不成功,僅返回長度

獲取Windows操作系統版本名稱

Windows版本名稱HKEY hKey; DWORD dwType = REG_SZ; DWORD dwSize = 255;//須指定長度,否則第一次讀取RegQueryValueEx不成功,僅返回長度 TCHAR data[MAX_PATH]; bool ret; if (RegOpenKey(HK

【取證分析】linux命令xxd來獲取dump檔案資訊獲得flag

題目連結:https://blog.csdn.net/xiangshangbashaonian/article/details/82747394 拿到一道CTF題目  notepad++開啟如下所示 [email protected]:~/Desktop$ fi

獲取某個版本軟體存在的漏洞資訊

  之前介紹了:如何檢視某個特定版本軟體具有哪些漏洞   現在我們需要將這些漏洞資訊爬取到本地,並以一定的形式展示出來,這裡就是離線HTML格式。   這裡簡單介紹下使用方法,原始碼會放在Github:   Step 1: 查詢     我們在NVD查詢:mysql 5.7.21   Step

Windows下USB磁碟開發系列三:列舉系統中U盤、並獲取其裝置資訊

前面我們介紹了列舉系統中的U盤碟符(見《Windows下USB磁碟開發系列一:列舉系統中U盤的碟符》)、以及獲取USB裝置的資訊(見《Windows下USB磁碟開發系列二:列舉系統中所有USB裝置》)。有個時候我們不僅僅需要獲取U盤碟符(路徑),而且需要獲取該U盤的硬體資訊,比如廠商、friendl